この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

DebuggerDisplayAttribute クラス

 

公開日: 2016年10月

デバッガーの変数ウィンドウでクラスやフィールドを表示する方法を決定します。

名前空間:   System.Diagnostics
アセンブリ:  mscorlib (mscorlib.dll 内)

System.Object
  System.Attribute
    System.Diagnostics.DebuggerDisplayAttribute

[AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Delegate, 
	AllowMultiple = true)]
[ComVisibleAttribute(true)]
public sealed class DebuggerDisplayAttribute : Attribute

名前説明
System_CAPS_pubmethodDebuggerDisplayAttribute(String)

DebuggerDisplayAttribute クラスの新しいインスタンスを初期化します。

名前説明
System_CAPS_pubpropertyName

取得またはデバッガー変数ウィンドウに表示される名前を設定します。

System_CAPS_pubpropertyTarget

取得または属性のターゲットの種類を設定します。

System_CAPS_pubpropertyTargetTypeName

取得または属性の対象の型名を設定します。

System_CAPS_pubpropertyType

取得またはデバッガー変数ウィンドウの [種類] 列に表示する文字列を設定します。

System_CAPS_pubpropertyTypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。(Attribute から継承されます。)

System_CAPS_pubpropertyValue

デバッガーの変数ウィンドウの [値] 列に表示する文字列を取得します。

名前説明
System_CAPS_pubmethodEquals(Object)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。(Attribute から継承されます。)

System_CAPS_pubmethodGetHashCode()

このインスタンスのハッシュ コードを返します。(Attribute から継承されます。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodIsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。(Attribute から継承されます。)

System_CAPS_pubmethodMatch(Object)

派生クラスでオーバーライドされると、指定したオブジェクトをこのインスタンスが等しいかどうかを示す値を返します。(Attribute から継承されます。)

System_CAPS_pubmethodToString()

現在のオブジェクトを表す文字列を返します。(Object から継承されます。)

名前説明
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。(Attribute から継承されます。)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。(Attribute から継承されます。)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。(Attribute から継承されます。)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。(Attribute から継承されます。)

The M:System.Diagnostics.DebuggerDisplayAttribute.#ctor(System.String) constructor has a single argument: a string to be displayed in the value column for instances of the type. This string can contain braces ({ and }). The text within a pair of braces is evaluated as the name of a field, property, or method. For example, the following C# code causes "Count = 4" to be displayed when the plus sign (+) is selected to expand the debugger display for an instance of MyHashtable.

[DebuggerDisplay("Count = {count}")]
class MyHashtable
{
    public int count = 4;
}

For information about using this attribute in Visual Studio, see Using DebuggerDisplay Attribute.

View the following example in Visual Studio to see the results of applying the T:System.Diagnostics.DebuggerDisplayAttribute.

using System;
using System.Collections;
using System.Diagnostics;
using System.Reflection;

class DebugViewTest
{
    // The following constant will appear in the debug window for DebugViewTest.
    const string TabString = "    ";
    // The following DebuggerBrowsableAttribute prevents the property following it
    // from appearing in the debug window for the class.
    [DebuggerBrowsable(DebuggerBrowsableState.Never)]
    public static string y = "Test String";

    static void Main()
    {
        MyHashtable myHashTable = new MyHashtable();
        myHashTable.Add("one", 1);
        myHashTable.Add("two", 2);
        Console.WriteLine(myHashTable.ToString());
        Console.WriteLine("In Main.");
    }
}
[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;
    }
}
[DebuggerDisplay("Count = {Count}")]
[DebuggerTypeProxy(typeof(HashtableDebugView))]
class MyHashtable : Hashtable
{
    private const string TestString = "This should not appear in the debug window.";

    internal class HashtableDebugView
    {
        private Hashtable hashtable;
        public const string TestString = "This should appear in the debug window.";
        public HashtableDebugView(Hashtable hashtable)
        {
            this.hashtable = hashtable;
        }

        [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
        public KeyValuePairs[] Keys
        {
            get
            {
                KeyValuePairs[] keys = new KeyValuePairs[hashtable.Count];

                int i = 0;
                foreach(object key in hashtable.Keys)
                {
                    keys[i] = new KeyValuePairs(hashtable, key, hashtable[key]);
                    i++;
                }
                return keys;
            }
        }
    }
}

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
2.0 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: