DebuggerTypeProxyAttribute Konstruktorer

Definition

Initierar en ny instans av DebuggerTypeProxyAttribute klassen med hjälp av proxytypen.

Överlagringar

Name Description
DebuggerTypeProxyAttribute(String)

Initierar en ny instans av DebuggerTypeProxyAttribute klassen med hjälp av proxyns typnamn.

DebuggerTypeProxyAttribute(Type)

Initierar en ny instans av DebuggerTypeProxyAttribute klassen med hjälp av proxytypen.

DebuggerTypeProxyAttribute(String)

Initierar en ny instans av DebuggerTypeProxyAttribute klassen med hjälp av proxyns typnamn.

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

Parametrar

typeName
String

Typnamnet för proxytypen.

Kommentarer

Felsökningsprogrammet skapar en ny instans av typen proxyklass varje gång den behöver visa en variabel av måltypen. Detta kan få prestandakonsekvenser. Därför bör du inte göra mer arbete i konstruktorn än absolut nödvändigt.

Gäller för

DebuggerTypeProxyAttribute(Type)

Initierar en ny instans av DebuggerTypeProxyAttribute klassen med hjälp av proxytypen.

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

Parametrar

type
Type

Proxytypen.

Undantag

type är null.

Exempel

I följande kodexempel visas hur konstruktorn används för att ange en visningsproxy DebuggerTypeProxyAttribute(Type) för felsökningsprogrammet. Det här kodexemplet är en del av ett större exempel för DebuggerDisplayAttribute klassen.

[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

Kommentarer

Felsökningsprogrammet skapar en ny instans av typen proxyklass varje gång den behöver visa en variabel av måltypen. Detta kan få prestandakonsekvenser. Därför bör du inte göra mer arbete i konstruktorn än absolut nödvändigt.

Gäller för