7
.NET/Visual Studio使用對象的ToString()方法在調試器中查看對象時顯示對象的值。我想顯示特定的信息,但由於.ToString()在將對象轉換爲字符串時經常被框架使用,我不能通過覆蓋ToString()來實現。是否有一個屬性可以用來告訴調試器使用不同的方法或屬性?如何在調試時使用ToString以外的委託顯示對象的值?
.NET/Visual Studio使用對象的ToString()方法在調試器中查看對象時顯示對象的值。我想顯示特定的信息,但由於.ToString()在將對象轉換爲字符串時經常被框架使用,我不能通過覆蓋ToString()來實現。是否有一個屬性可以用來告訴調試器使用不同的方法或屬性?如何在調試時使用ToString以外的委託顯示對象的值?
使用DebuggerDisplayAttribute
[MSDN]。您提供一個格式字符串,引用類中的字段/屬性以在調試時顯示,而不必混淆ToString()
。
[DebuggerDisplay("Count = {count}")]
class MyHashtable
{
public int count = 4;
}
它還與方法:
[DebuggerDisplay("{ToDebugString()}")]
public class SomeClass
{
public override String ToString()
{
return "Normal ToString()";
}
public String ToDebugString()
{
return "ToDebugString()";
}
}
真棒,我看到在智能感知這個屬性,但我沒有意識到的價值可能被標記化。這更有意義。謝謝! – 2012-03-28 19:39:21