提高调试信息的有效性有两种方法,而不是在调试器中看到 {MyNamespace.MyProject.MyClass}
,它们分别是使用DebuggerDisplayAttribute
和ToString()
方法。
using System.Diagnostics;
...
[DebuggerDisplay("Name = {Name}")]
public class Person
{
public string Name;
}
或者public class Person
{
public string Name;
public override string ToString()
{
return string.Format("Name = {0}", Name);
}
}
有没有任何理由更喜欢其中一个?有没有不推荐同时使用两者的原因?这完全是个人偏好吗?
ToString
经常被用作“默认显示字符串”,例如,被Console.WriteLine
或 WPF数据绑定使用。 - Stephen Cleary