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 nowe wystąpienie DebuggerTypeProxyAttribute klasy przy użyciu typu serwera proxy.
Przeciążenia
| Nazwa | Opis |
|---|---|
| DebuggerTypeProxyAttribute(String) |
Inicjuje nowe wystąpienie DebuggerTypeProxyAttribute klasy przy użyciu nazwy typu serwera proxy. |
| DebuggerTypeProxyAttribute(Type) |
Inicjuje nowe wystąpienie DebuggerTypeProxyAttribute klasy przy użyciu typu serwera proxy. |
DebuggerTypeProxyAttribute(String)
Inicjuje nowe wystąpienie DebuggerTypeProxyAttribute 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 zastępczej 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 nowe wystąpienie DebuggerTypeProxyAttribute 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
Parametr type ma wartość 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 dla klasy DebuggerDisplayAttribute.
[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 zastępczej 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.