using System; namespace Articulos.Cap04 { public class Palabra { public string Texto { set; get; } /// /// Concatena el texto de dos palabras y retorna una cadena /// de caracteres. /// public static string operator +(Palabra p1, Palabra p2) { return String.Format("{0} {1}", p1.Texto, p2.Texto); } /// /// Concatena el texto de una palabra con un número entero /// y retorna un objeto Palabra como una instancia nueva. /// public static Palabra operator +(Palabra p, int i) { return new Palabra { Texto = p.Texto + i.ToString()}; } /// /// Devuelve la representación en cadena de caracteres del campo Texto /// de la instancia actual. /// 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("\npalabra1: {0}", palabra1); Console.WriteLine("palabra2: {0}", palabra2); Console.WriteLine("\nConcatenadas: {0}", palabra1 + palabra2); Console.WriteLine("Concatadenas con entero: {0}", palabra1 + 13); Console.WriteLine(); } } }