Ne ho provate davvero tante, ma nessuna mi ha mai dato quel valore aggiunto che cercavo.
L'ultimo tentativo è sicuramente quello che meglio calza, e meglio s'addice al mio contesto.
/// <summary>
/// Ovveride del metodo To string
/// </summary>
/// <returns>contenuto dell'entità</returns>
public override string ToString()
{
Type c = this.GetType();
System.Reflection.PropertyInfo[] _p = c.GetProperties();
string output = c.Name.Replace("_", " ") + ":";
for (int i = 0; i < _p.Length; i++)
{
output += _p[i].GetValue(this, null).ToString() + "|";
}
return output.TrimEnd(new char[] { '|' });
}
In questo esempio grazie a reflection riesco a recuperare tutte le proprietà dell'entità, non solo mi recupero anche il nome.
Ciclo quindi per ogni proprietà senza troppo occuparmi dell'ordine in cui appariranno, e le dispongo come valore di ritorno nel ToString().
Una variante interessante potrebbe essere nella riga in cui compongo l'output
con l'aggiunta del nome della proprietà che sto leggendo...
output += _p[i].Name +":"+_p[i].GetValue(this, null).ToString() + "|";
Nessun commento:
Posta un commento