Esistono due modi per aumentare l'utilità delle informazioni di debug invece di vederle {MyNamespace.MyProject.MyClass}
nel debugger.
Questi sono l'uso DebuggerDisplayAttribute
e il ToString()
metodo.
using System.Diagnostics;
...
[DebuggerDisplay("Name = {Name}")]
public class Person
{
public string Name;
}
o
public class Person
{
public string Name;
public override string ToString()
{
return string.Format("Name = {0}", Name);
}
}
C'è qualche motivo per preferire l'uno all'altro? Qualche motivo per non fare entrambe le cose? È una preferenza puramente personale?
ToString
viene spesso utilizzato come "stringa di visualizzazione predefinita", ad esempio daConsole.WriteLine
o dal data binding WPF.