var sample = new
{
Time = DateTime.Now,
Name = "Hello"
};
Trace.TraceInformation("{0}", sample);
uscite comeOverride ToString() l'attuazione di anonimi oggetti
ProcessInvocation86.exe Informazioni: 0: {Tempo = 04.11.2012 22:07:52, Name = Ciao}
Mi piacerebbe una diversa formattazione nella mia applicazione. C'è un modo per cambiare l'implementazione di ToString() per oggetti anonimi in C#? Forse qualche campo statico per AppDomain
o qualcosa del genere?
Probabilmente non per i tipi anonimi. Quando inizi a passare da una semplice struttura dati a un oggetto un po 'più ricco che espone funzionalità (come l'override di un metodo), dovrai definire un tipo esplicito. – David
Sono riuscito a farlo: 'var sample = new {Time = DateTime.Now, Name =" Hello ", ToString = new Func (() => {return" xxx ";})}; Console.WriteLine (" {0} ", sample.ToString());'. Sfortunatamente sembra che non ci sia modo di accedere a 'this' da ToString Func, in modo che possa restituire solo costanti o variabili globali - inutile suppongo :( –
Ondra