I tiene un MyClass clase, y me gustaría para anular el método toString() de instancias de lista:ToString Overriding() de la Lista <MyClass>
class MyClass
{
public string Property1 { get; set; }
public int Property2 { get; set; }
/* ... */
public override string ToString()
{
return Property1.ToString() + "-" + Property2.ToString();
}
}
me gustaría tener lo siguiente:
var list = new List<MyClass>
{
new MyClass { Property1 = "A", Property2 = 1 },
new MyClass { Property1 = "Z", Property2 = 2 },
};
Console.WriteLine(list.ToString()); /* prints: A-1,Z-2 */
¿Es posible hacerlo? O tendría que subclasificar la lista < MyClass> para reemplazar el método ToString() en mi subclase? ¿Puedo resolver este problema usando métodos de extensión (es decir, ¿es posible anular un método con un método de extensión)?
Gracias!
Para información: estaba tratando de hacer algo relacionado con NHibernate, y el mapeo de colecciones en una cadena serializada que se ajustaría a una sola columna. Sin embargo, encontré otra manera de hacerlo, implementando mi propio IUserType, ¡y mi implementación construye la cadena como lo necesito! ¡Gracias a todos los que respondieron de todos modos! –