DebuggerTypeProxyAttribute Konstruktoren

Definition

Initialisiert eine neue Instanz der DebuggerTypeProxyAttribute Klasse mithilfe des Proxytyps.

Überlädt

Name Beschreibung
DebuggerTypeProxyAttribute(String)

Initialisiert eine neue Instanz der DebuggerTypeProxyAttribute Klasse mithilfe des Typnamens des Proxys.

DebuggerTypeProxyAttribute(Type)

Initialisiert eine neue Instanz der DebuggerTypeProxyAttribute Klasse mithilfe des Proxytyps.

DebuggerTypeProxyAttribute(String)

Initialisiert eine neue Instanz der DebuggerTypeProxyAttribute Klasse mithilfe des Typnamens des Proxys.

public:
 DebuggerTypeProxyAttribute(System::String ^ typeName);
public DebuggerTypeProxyAttribute(string typeName);
new System.Diagnostics.DebuggerTypeProxyAttribute : string -> System.Diagnostics.DebuggerTypeProxyAttribute
Public Sub New (typeName As String)

Parameter

typeName
String

Der Typname des Proxytyps.

Hinweise

Der Debugger erstellt jedes Mal eine neue Instanz der Typ-Proxyklasse, wenn er eine Variable des Zieltyps anzeigen muss. Dies kann Auswirkungen auf die Leistung haben. Daher sollten Sie nicht mehr Arbeit im Konstruktor ausführen, als unbedingt erforderlich.

Gilt für:

DebuggerTypeProxyAttribute(Type)

Initialisiert eine neue Instanz der DebuggerTypeProxyAttribute Klasse mithilfe des Proxytyps.

public:
 DebuggerTypeProxyAttribute(Type ^ type);
public DebuggerTypeProxyAttribute(Type type);
new System.Diagnostics.DebuggerTypeProxyAttribute : Type -> System.Diagnostics.DebuggerTypeProxyAttribute
Public Sub New (type As Type)

Parameter

type
Type

Der Proxytyp.

Ausnahmen

type ist null.

Beispiele

Das folgende Codebeispiel zeigt die Verwendung des DebuggerTypeProxyAttribute(Type) Konstruktors zum Angeben eines Debuggeranzeigeproxys. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die DebuggerDisplayAttribute Klasse bereitgestellt wird.

[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;
            }
        }
    }
}
<DebuggerDisplay("Count = {Count}"), DebuggerTypeProxy(GetType(MyHashtable.HashtableDebugView))> _
Class MyHashtable
    Inherits Hashtable
    Private Const TestString As String = "This should not appear in the debug window."

    Friend Class HashtableDebugView
        Private hashtable As Hashtable
        Public Shared TestString As String = "This should appear in the debug window."

        Public Sub New(ByVal hashtable As Hashtable)
            Me.hashtable = hashtable
        End Sub

        <DebuggerBrowsable(DebuggerBrowsableState.RootHidden)> _
        ReadOnly Property Keys as KeyValuePairs()
            Get
                Dim nkeys(hashtable.Count) as KeyValuePairs

                Dim i as Integer = 0
                For Each key As Object In hashtable.Keys
                    nkeys(i) = New KeyValuePairs(hashtable, key, hashtable(key))
                    i = i + 1
                Next
                Return nkeys
            End Get
        End Property

    End Class
End Class

Hinweise

Der Debugger erstellt jedes Mal eine neue Instanz der Typ-Proxyklasse, wenn er eine Variable des Zieltyps anzeigen muss. Dies kann Auswirkungen auf die Leistung haben. Daher sollten Sie nicht mehr Arbeit im Konstruktor ausführen, als unbedingt erforderlich.

Gilt für: