2012-12-18 64 views
2

我有一個IClaimsPrincipal變量,我想看看它有多少聲明。瀏覽監視窗口中的屬性很複雜,所以我想定製這個對象的顯示方式。我可以在我沒有的類型上使用類似DebuggerTypeProxyAttribute的東西嗎?

我知道[DebuggerTypeProxy] attribute,它最初看起來像它可能會做我想要的。不幸的是,它需要依附於班級,而我並不「擁有」班級。在這種情況下,這是一個Microsoft.IdentityModel.Claims.ClaimsPrincipal。我想顯示IClaimsPrincipal.Identities[0].Claims.Count的值。

有什麼方法可以使用[DebuggerTypeProxy]或類似的方法來自定義如何在監視窗口中顯示我不擁有的類型的值?

回答

0

我來了這麼遠,最好是調用一個方法:從監視窗口

...:

DebuggerDisplays.ClaimsPrincipal(_thePrincipal),ac = 10 

",ac" suppresses了「這種表達會導致側效果並且不會被評估「。

但是,請注意,當這超出範圍時,即使使用「,ac」,Visual Studio也會簡單地使監視窗口條目變灰。爲了避免這種情況,您需要確保所有內容都完全符合要求,這意味着您最終會在觀察窗口中顯示極長的表達式。

0

我自己也有同樣的需要多次,所以我創建了一個名爲Custom Expressions的功能,我用共同編寫的名爲「BugAid」的商業工具創建。有了它,你右擊該值,然後選擇「添加自定義表達式」,然後鍵入:

Custom Expression

注意您可以在一個友好的名稱表達,即使進入,即「索賠金額「:

一旦你輸入自定義的表情,你就可以看到它的結果,只要你將鼠標懸停在變量:

Custom Expression 2

相關問題