DebuggerTypeProxyAttribute Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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)
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)
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.