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

DebuggerTypeProxyAttribute クラス

 

公開日: 2016年10月

型の表示プロキシを指定します。

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

System.Object
  System.Attribute
    System.Diagnostics.DebuggerTypeProxyAttribute

[AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct, 
	AllowMultiple = true)]
[ComVisibleAttribute(true)]
public sealed class DebuggerTypeProxyAttribute : Attribute

名前説明
System_CAPS_pubmethodDebuggerTypeProxyAttribute(String)

新しいインスタンスを初期化、 DebuggerTypeProxyAttribute クラスのプロキシの型名を使用します。

System_CAPS_pubmethodDebuggerTypeProxyAttribute(Type)

新しいインスタンスを初期化、 DebuggerTypeProxyAttribute クラスのプロキシの種類を使用します。

名前説明
System_CAPS_pubpropertyProxyTypeName

プロキシ型の型名を取得します。

System_CAPS_pubpropertyTarget

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

System_CAPS_pubpropertyTargetTypeName

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

System_CAPS_pubpropertyTypeId

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

名前説明
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 から継承されます。)

Note   Use this attribute when you need to significantly and fundamentally change the debugging view of a type, but not change the type itself.

The T:System.Diagnostics.DebuggerTypeProxyAttribute attribute is used to specify a display proxy for a type, allowing a developer to tailor the view for the type. This attribute can be used at the assembly level as well, in which case the P:System.Diagnostics.DebuggerTypeProxyAttribute.Target property specifies the type for which the proxy will be used. In general, this attribute specifies a private nested type that occurs within the type to which the attribute is applied. An expression evaluator that supports type viewers checks for this attribute when a type is displayed. If the attribute is found, the expression evaluator substitutes the display proxy type for the type the attribute is applied to.

When the T:System.Diagnostics.DebuggerBrowsableAttribute is present, the debugger variable window displays only the public members of the proxy type. Private members are not displayed. The behavior of the data window is not changed by attribute-enhanced views.

To avoid unnecessary performance penalties, expression evaluators should not examine the attributes on the display proxy of the type unless the type is expanded, either through the user clicking the plus sign (+) next to the type in a data window, or through the application of the T:System.Diagnostics.DebuggerBrowsableAttribute attribute. Therefore, it is recommended that no attributes be applied to the display type. Attributes can and should be applied within the body of the display type.

The following code example shows the use of the T:System.Diagnostics.DebuggerTypeProxyAttribute to specify a private nested type to be used as a debugger display proxy. This code example is part of a larger example provided for the T:System.Diagnostics.DebuggerDisplayAttribute class.

[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 ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: