Created
April 4, 2014 20:04
-
-
Save Fhernd/9982139 to your computer and use it in GitHub Desktop.
Demostracion de sobrecarga de operadores en C#.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Text; | |
using System.Dynamic; | |
namespace Recetas.Ch01 | |
{ | |
public class Palabra | |
{ | |
public string Texto | |
{ | |
set; | |
get; | |
} | |
///<summary> | |
/// Concatena el texto de dos palabras y retorna una cadena | |
/// de caracteres. | |
///</summary> | |
public static string operator +(Palabra p1, Palabra p2) | |
{ | |
return String.Format("{0} {1}", p1.Texto, p2.Texto); | |
} | |
///<summary> | |
/// Concatena el texto de una palabra con un número entero | |
/// y retorna un objeto Palabra como una instancia nueva. | |
///</summary> | |
public static Palabra operator +(Palabra p, int i) | |
{ | |
return new Palabra { Texto = p.Texto + i.ToString()}; | |
} | |
///<summary> | |
/// Devuelve la representación en cadena de caracteres del campo Texto | |
/// de la instancia actual. | |
///</summary> | |
public override string ToString() | |
{ | |
return Texto; | |
} | |
} | |
public class ClientePalabra | |
{ | |
public static void Main() | |
{ | |
// Creación de dos instancias de Palabra | |
Palabra palabra1 = new Palabra() { Texto = "Hola" }; | |
Palabra palabra2 = new Palabra() { Texto = "Mundo" }; | |
// Impresión de valores en la salida estándar. | |
Console.WriteLine("palabra1: {0}", palabra1); | |
Console.WriteLine("palabra2: {0}", palabra2); | |
Console.WriteLine("Concatenadas: {0}", palabra1 + palabra2); | |
Console.WriteLine("Concatadenas con entero: {0}", palabra1 + 13); | |
Console.WriteLine(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment