Istnieją dwa sposoby na zwiększenie użyteczności debugowania informacji zamiast ich wyświetlania {MyNamespace.MyProject.MyClass}
w debugerze.
Oto zastosowanie DebuggerDisplayAttribute
i ToString()
metoda.
using System.Diagnostics;
...
[DebuggerDisplay("Name = {Name}")]
public class Person
{
public string Name;
}
lub
public class Person
{
public string Name;
public override string ToString()
{
return string.Format("Name = {0}", Name);
}
}
Czy jest jakiś powód, aby preferować jedno od drugiego? Jest jakiś powód, by nie robić obu tych rzeczy? Czy to czysto osobiste preferencje?
ToString
jest często używany jako „domyślny ciąg wyświetlania”, np. PrzezConsole.WriteLine
powiązanie danych lub WPF.