DebuggerTypeProxyAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Megadja egy típus megjelenítési proxyját.
public ref class DebuggerTypeProxyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=true)]
public sealed class DebuggerTypeProxyAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=true)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DebuggerTypeProxyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=true)>]
type DebuggerTypeProxyAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=true)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DebuggerTypeProxyAttribute = class
inherit Attribute
Public NotInheritable Class DebuggerTypeProxyAttribute
Inherits Attribute
- Öröklődés
- Attribútumok
Példák
Az alábbi példakód azt mutatja be, hogy a DebuggerTypeProxyAttribute hibakereső megjelenítési proxyjaként használandó privát beágyazott típust adja meg. Ez a példakód egy nagyobb, az DebuggerDisplayAttribute osztályhoz tartozó példa része.
[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
Megjegyzések
Megjegyzés Ezt az attribútumot akkor használja, ha jelentősen és alapvetően módosítania kell egy típus hibakeresési nézetét, de magát a típust nem.
Az DebuggerTypeProxyAttribute attribútum egy típus megjelenítési proxyjának megadására szolgál, így a fejlesztő a nézetet a típushoz igazíthatja. Ez az attribútum a szerelvény szintjén is használható, ebben az esetben a Target tulajdonság azt a típust határozza meg, amelyhez a proxyt használni fogja. Ez az attribútum általában egy privát beágyazott típust határoz meg, amely abban a típusban fordul elő, amelyre az attribútumot alkalmazza. A típusmegjelenítőket támogató kifejezés-kiértékelő egy típus megjelenésekor ellenőrzi ezt az attribútumot. Ha az attribútum megtalálható, a kifejezésértékelő lecseréli a megjelenítési proxy típusát arra a típusra, amelyet az attribútum alkalmaz.
Amikor a DebuggerBrowsableAttribute hibakereső változó jelen van, a hibakereső változóablak csak a proxytípus nyilvános tagjait jeleníti meg. A privát tagok nem jelennek meg. Az adatablak viselkedését az attribútumok által bővített nézetek nem módosítják.
A szükségtelen teljesítménybeli büntetések elkerülése érdekében a kifejezésértékelők nem vizsgálják meg a típus megjelenítési proxyján lévő attribútumokat, kivéve, ha a típus ki van bontva, vagy a felhasználó által az adatablakban a típus melletti pluszjelre (+) kattintva, vagy az DebuggerBrowsableAttribute attribútum alkalmazásával. Ezért javasoljuk, hogy a megjelenítési típusra ne alkalmazzanak attribútumokat. Az attribútumok a megjelenítési típus törzsén belül alkalmazhatók.
Konstruktorok
| Name | Description |
|---|---|
| DebuggerTypeProxyAttribute(String) |
Inicializálja az DebuggerTypeProxyAttribute osztály új példányát a proxy típusnevével. |
| DebuggerTypeProxyAttribute(Type) |
Inicializálja az DebuggerTypeProxyAttribute osztály új példányát a proxy típusával. |
Tulajdonságok
| Name | Description |
|---|---|
| ProxyTypeName |
Lekéri a proxytípus nevét. |
| Target |
Lekéri vagy beállítja az attribútum céltípusát. |
| TargetTypeName |
Lekéri vagy beállítja a céltípus nevét. |
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal. (Öröklődés forrása Attribute) |
| GetHashCode() |
A példány kivonatkódját adja vissza. (Öröklődés forrása Attribute) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |