Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created April 4, 2014 20:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fhernd/9982139 to your computer and use it in GitHub Desktop.
Save Fhernd/9982139 to your computer and use it in GitHub Desktop.
Demostracion de sobrecarga de operadores en C#.
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