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 DebuggerDisplayAttribute
e 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.WriteLine
ou ligação de dados WPF.