Aracılığıyla paylaş


DebuggerTypeProxyAttribute Oluşturucular

Tanım

Ara sunucu türünü kullanarak sınıfının yeni bir örneğini DebuggerTypeProxyAttribute başlatır.

Aşırı Yüklemeler

DebuggerTypeProxyAttribute(String)

Ara sunucu tür adını kullanarak sınıfının yeni bir örneğini DebuggerTypeProxyAttribute başlatır.

DebuggerTypeProxyAttribute(Type)

Ara sunucu türünü kullanarak sınıfının yeni bir örneğini DebuggerTypeProxyAttribute başlatır.

DebuggerTypeProxyAttribute(String)

Kaynak:
DebuggerTypeProxyAttribute.cs
Kaynak:
DebuggerTypeProxyAttribute.cs
Kaynak:
DebuggerTypeProxyAttribute.cs

Ara sunucu tür adını kullanarak sınıfının yeni bir örneğini DebuggerTypeProxyAttribute başlatır.

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

Parametreler

typeName
String

Proxy türünün tür adı.

Açıklamalar

Hata ayıklayıcı, hedef türün değişkenini görüntülemesi gereken her seferinde proxy sınıfının yeni bir örneğini oluşturur. Bu, performansı etkileyebilir. Sonuç olarak, oluşturucuda kesinlikle gerekli olandan daha fazla iş yapmamalısınız.

Şunlara uygulanır

DebuggerTypeProxyAttribute(Type)

Kaynak:
DebuggerTypeProxyAttribute.cs
Kaynak:
DebuggerTypeProxyAttribute.cs
Kaynak:
DebuggerTypeProxyAttribute.cs

Ara sunucu türünü kullanarak sınıfının yeni bir örneğini DebuggerTypeProxyAttribute başlatır.

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

Parametreler

type
Type

Proxy türü.

Özel durumlar

type, null değeridir.

Örnekler

Aşağıdaki kod örneği, bir hata ayıklayıcısı görüntü ara sunucusu belirtmek için oluşturucunun DebuggerTypeProxyAttribute(Type) kullanımını gösterir. Bu kod örneği, sınıfı için DebuggerDisplayAttribute sağlanan daha büyük bir örneğin parçasıdır.

[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

Açıklamalar

Hata ayıklayıcı, hedef türün değişkenini görüntülemesi gereken her seferinde proxy sınıfının yeni bir örneğini oluşturur. Bu, performansı etkileyebilir. Sonuç olarak, oluşturucuda kesinlikle gerekli olandan daha fazla iş yapmamalısınız.

Şunlara uygulanır