Existem duas maneiras de aumentar a utilidade das informações de depuração, em vez de ver {MyNamespace.MyProject.MyClass}no depurador.
Estes são o uso DebuggerDisplayAttributee o ToString()método.
using System.Diagnostics;
...
[DebuggerDisplay("Name = {Name}")]
public class Person
{
public string Name;
}
ou
public class Person
{
public string Name;
public override string ToString()
{
return string.Format("Name = {0}", Name);
}
}
Existe alguma razão para preferir um ao outro? Alguma razão para não fazer as duas coisas? É uma preferência puramente pessoal?
ToStringé freqüentemente usado como uma "string de exibição padrão", por exemplo, porConsole.WriteLineou ligação de dados WPF.