2009-04-16 11 views
25

デバッガのウォッチウィンドウにフィールドやプロパティが表示されないようにすることはできますか?参照してください、私たちは50以上のプライベートフィールドでクラスを持っている、そのほとんどは公共のプロパティを介して公開されています。つまり、ウォッチウィンドウのリストに多数のデータが重複して表示されています。デバッガのフィールドを非表示にする

これを制御する手段はありますか?あなたが代わりに地元の自動車を使用するか、時計を使用して、唯一の関心の変数を見ることができる

+1

あなたはイースターエッグを作ろうと思っていましたが、あなたの同僚にあなたの変数、フィールド、オブジェクトを見せたくないと思っていました。 – Kredns

+1

Nah。それはかなり大きなモデルオブジェクトであり、非常に多くの重複値をスクロールすることは時間の無駄になる可能性があります。 – Amy

答えて

53

は、この属性を試してみてください:

[DebuggerBrowsable(DebuggerBrowsableState.Never)] 

属性を置くことによって、あなたのバッキングフィールドを非表示するために使用しますこのようなフィールド宣言の上:

01:

class Foo 
{ 
    [DebuggerBrowsable(DebuggerBrowsableState.Never)] 
    int bar; // this one will be hidden 
    int baz; // but this one will be visible like normal 
} 

DebuggerBrowsableState列挙は、2人の他のメンバーを持っていることに注意してください

Collapsed:デバッガの要素を折りたたみます。
RootHidden:これは、コレクションの子要素を表示しますが、ルート要素自体を非表示にします。

+2

+1の深さについては、依然として簡潔な答えです。私はこのサイトが大好きです。関連するヒントについては – el2iot2

-1

...

6

DebuggerBrowsableAttributeをチェックしてください:あなたはDebuggerTypeProxyを使用していることを見つけるかもしれない

http://msdn.microsoft.com/en-us/magazine/cc163974.aspx

:実際には

http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerbrowsableattribute.aspx

を、この記事では、この地域のいくつかの非常に便利なヒントがありますもっと理にかなっている。これにより、そのタイプの「カスタム表示」を提供することができます。

+0

+1 – el2iot2

1

DebuggerBrowsableAttributeは、他のSO questionで説明されています。あなたがC#を大量にやっているなら、それを読むのは良い質問です。

1

は、私は、これは古いです知っていますが、DebuggerTypeProxy http://msdn.microsoft.com/en-us/library/d8eyd8zc.aspx

あなたは醜い属性や余分な利益とあなたのクラスを変更する必要はありません。この方法であなたはいつでも見ることができるということですを使用してオフにはるかに良いだろうあなたが実際にそれらの "隠された"フィールドの1つを見る必要があるならば、実際のタイプ。

関連する問題