Ho un MyClass di classe, e vorrei sovrascrivere il metodo ToString() di casi di listino:override ToString() della Lista <MyClass>
class MyClass
{
public string Property1 { get; set; }
public int Property2 { get; set; }
/* ... */
public override string ToString()
{
return Property1.ToString() + "-" + Property2.ToString();
}
}
mi piacerebbe avere la seguente:
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 */
È possibile farlo? Oppure dovrei sottoclasse l'Elenco < MyClass> per sovrascrivere il metodo ToString() nella mia sottoclasse? Posso risolvere questo problema usando i metodi di estensione (cioè, è possibile sovrascrivere un metodo con un metodo di estensione)?
Grazie!
Per informazioni: stavo cercando di fare qualcosa relativo a NHibernate e la mappatura delle collezioni in una stringa serializzata che si adatterebbe a una singola colonna. Tuttavia ho trovato un altro modo per farlo, implementando il mio IUserType, e la mia implementazione costruisce la stringa di cui ho bisogno! Grazie a tutti quelli che hanno risposto comunque! –