2017-02-15 4 views
2

私はしばしば最大100のプロパティを持つモデルクラスを見ることができるレガシープロジェクトを持っており、デバッグの際には順序付けられたデータシーケンスとしてそれらを特定の順序で見たいと思います。 Visual Studioデバッガに、名前で並べ替えるのではなく、特定の順序で表示するような属性がありますか?VSで検査するときにオブジェクトのプロパティを特定の順序で表示する方法はありますか?

答えて

1

デバッガの説明をカスタマイズするには、DebuggerDisplayAttributeクラスを使用できます。 MSDNでお読みください。

特定のクラスにその属性を追加すると、デバッグ中に説明を表示する方法を定義できます。

MSDNの1つの例です。ここでvaluekeyデバッグ時より見えるようになります:ここでは

[DebuggerDisplay("{value}", Name = "{key}")] 
internal class KeyValuePairs 
{ 
    private IDictionary dictionary; 
    private object key; 
    private object value; 

    public KeyValuePairs(IDictionary dictionary, object key, object value) 
    { 
     this.value = value; 
     this.key = key; 
     this.dictionary = dictionary; 
    } 
} 

は、デバッグ中に値とキーを確認することが容易になります。

DebuggerBrowsableAttributeデバッガが特定のメンバーを表示する内容を決定します。いくつかのメンバーを隠すことさえできます。ここで

DebuggerBrowsableAttributeのいくつかの例です:

public class User 
{ 
    [DebuggerBrowsable(DebuggerBrowsableState.Collapsed)] 
    public string Login { get; set; } 

    [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)] 
    public FullName Name { get; set; } 

    [DebuggerBrowsable(DebuggerBrowsableState.Never)] 
    public string HashedPassword { get; set; } 
} 

、プロパティHashedPassword、デバッグから隠されます見ての通り。

また、Visual StudioでWatchウィンドウを使用して、追跡する変数を構成することもできます。

関連する問題