有沒有辦法指定在監視窗口中看到的對象的成員,而不用展開具有所有屬性的樹。例如:Visual Studio中的監視窗口
p =新點(10,10)將顯示在值的列中:{X = 10 Y = 10}。
對於我自己的課程,它始終顯示:{MyNamespace.MyClass}或{MyNamespace.MyStruct}。
我可以改變這個以顯示:{MyStringProperty =「」MyIntProperty = 0 ...「?
有沒有辦法指定在監視窗口中看到的對象的成員,而不用展開具有所有屬性的樹。例如:Visual Studio中的監視窗口
p =新點(10,10)將顯示在值的列中:{X = 10 Y = 10}。
對於我自己的課程,它始終顯示:{MyNamespace.MyClass}或{MyNamespace.MyStruct}。
我可以改變這個以顯示:{MyStringProperty =「」MyIntProperty = 0 ...「?
見Using DebuggerDisplay Attribute
如果您已經通過一個屬性標記類:
[DebuggerDisplay("x = {X} y = {Y}")]
public class MyClass
{
public int X { get; private set; }
public int Y { get; private set; }
}
輸出在監視窗口的值列出現會像下面:
x = 5 y = 18
非常感謝。 – paccic
您可以使用BugAid(Visual Studio的附加組件),它允許您在不擴展樹的情況下查看您想要查看的成員,而無需停止調試以重新編譯代碼。
請參見下面的屏幕截圖例如:
全面披露:我是 「BugAid」 的共同創造者。
此功能是在Visual Studio 2010中構建的,試試在彈出窗口中鎖定任何屬性/字段 – sll
實際上,不,這完全是一個不同的功能 - pinning會持久保留單個對象的單個屬性,以便它懸停在你的代碼編輯器。與[DebuggerDisplay]屬性非常相似,Stars定製給定類型的** all **值的方式將顯示在DataTip中,並在調試會話中記住。它們基本上執行[DebuggerDisplay]屬性的功能,但無需停止,添加屬性,重新編譯並重新運行。 –
如果實現ToString()方法,將顯示其結果而不是類/結構名稱。 – jirkamat