Udostępnij za pośrednictwem


DebuggerTypeProxyAttribute Konstruktory

Definicja

Inicjuje DebuggerTypeProxyAttribute nowe wystąpienie klasy przy użyciu typu serwera proxy.

Przeciążenia

DebuggerTypeProxyAttribute(String)

Inicjuje DebuggerTypeProxyAttribute nowe wystąpienie klasy przy użyciu nazwy typu serwera proxy.

DebuggerTypeProxyAttribute(Type)

Inicjuje DebuggerTypeProxyAttribute nowe wystąpienie klasy przy użyciu typu serwera proxy.

DebuggerTypeProxyAttribute(String)

Źródło:
DebuggerTypeProxyAttribute.cs
Źródło:
DebuggerTypeProxyAttribute.cs
Źródło:
DebuggerTypeProxyAttribute.cs

Inicjuje DebuggerTypeProxyAttribute nowe wystąpienie klasy przy użyciu nazwy typu serwera proxy.

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

Parametry

typeName
String

Nazwa typu serwera proxy.

Uwagi

Debuger tworzy nowe wystąpienie klasy serwera proxy typu za każdym razem, gdy musi wyświetlić zmienną typu docelowego. Może to mieć wpływ na wydajność. W rezultacie nie należy wykonywać więcej pracy w konstruktorze niż absolutnie konieczne.

Dotyczy

DebuggerTypeProxyAttribute(Type)

Źródło:
DebuggerTypeProxyAttribute.cs
Źródło:
DebuggerTypeProxyAttribute.cs
Źródło:
DebuggerTypeProxyAttribute.cs

Inicjuje DebuggerTypeProxyAttribute nowe wystąpienie klasy przy użyciu typu serwera proxy.

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

Parametry

type
Type

Typ serwera proxy.

Wyjątki

type to null.

Przykłady

Poniższy przykład kodu przedstawia użycie konstruktora DebuggerTypeProxyAttribute(Type) do określenia serwera proxy wyświetlania debugera. Ten przykład kodu jest częścią większego przykładu udostępnionego DebuggerDisplayAttribute dla klasy .

[DebuggerTypeProxy(HashtableDebugView::typeid)]
ref class MyHashtable : Hashtable
{
private:
    static const String^ TestString = "This should not appear in the debug window.";

internal:
    ref class HashtableDebugView
    {
    private:
        Hashtable^ hashtable;
    public:
        static const String^ TestString = "This should appear in the debug window.";
        HashtableDebugView(Hashtable^ hashtable)
        {
            this->hashtable = hashtable;
        }

        [DebuggerBrowsable(DebuggerBrowsableState::RootHidden)]
        property array<KeyValuePairs^>^ Keys
        {
            array<KeyValuePairs^>^ get()
            {
                array<KeyValuePairs^>^ keys = gcnew array<KeyValuePairs^>(hashtable->Count);

                IEnumerator^ ie = hashtable->Keys->GetEnumerator();
                int i = 0;
                Object^ key;
                while (ie->MoveNext())
                {
                    key = ie->Current;
                    keys[i] = gcnew KeyValuePairs(hashtable, key, hashtable[key]);
                    i++;
                }
                return keys;
            }
        }
    };
};
[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

Uwagi

Debuger tworzy nowe wystąpienie klasy serwera proxy typu za każdym razem, gdy musi wyświetlić zmienną typu docelowego. Może to mieć wpływ na wydajność. W rezultacie nie należy wykonywać więcej pracy w konstruktorze niż absolutnie konieczne.

Dotyczy