Hola a todos.
Alguien me puede dar una mano con esto, llevo días leyendo sobre el tema y bajando ejemplos y no logro entender esto de la sobrecarga de operadores, por Ej. ¿es muy distinto hacer lo mismo con un bucle foreach para sumar 2 vectores y poner el resultado en otro?.-
Fuente:
http://www.csharpya.com.ar/detalleconcepto.php?codigo=197&inicio=60
(http://www.csharpya.com.ar/detalleconcepto.php?codigo=197&inicio=60)
Bueno, no se me ocurre nada más, espero alguna aclaración.-
Saludos.
Daniel
La diferencia es que el método queda a nivel de clase, te doy un ejemplo más ilustrativo ...
public class Persona
{
public string Nombre { get; set; }
public int Sueldo { get; set; }
public static string operator +(Persona p, Persona p1)
{
return string.Format("La suma de los sueldos de {0} y {1} es de {2}", p.Nombre, p1.Nombre, p.Sueldo + p1.Sueldo);
}
}
class Program
{
static void Main(string[] args)
{
Persona p1 = new Persona { Nombre = "Carlos", Sueldo = 1000 };
Persona p2 = new Persona { Nombre = "Ana", Sueldo = 3000 };
Console.WriteLine("La suma de los sueldos de {0} y {1} es de {2}", p1.Nombre, p2.Nombre, p1.Sueldo + p2.Sueldo);
Console.WriteLine(p1 + p2);
Console.ReadLine();
}
}
En el segundo caso, solo estoy sumando las instancias de clase, y se asume que si sumo dos instancias, entonces me tiene que devolver ese texto. Quita el método de la sobrecarga y verás que ni compila.
Saludos
Hola Novlucker
Me aclaró bastante el panorama tú ejemplo, ahora me surgieron otras dudas, ¿las propiedades no deben declararse fuera del get y set como privadas? y ¿porque get funciona sin un return?.-
Saludos.
Daniel
http://icomparable.blogspot.com/2008/11/propiedades-automticas-en-c-3.html ;)
Saludos