Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
DebuggerTypeProxyAttribute proxyt vagy stand-int ad meg egy típushoz, és megváltoztatja a típus megjelenítési módját a hibakereső ablakokban. Ha proxyval rendelkező változót tekint meg, a proxy az eredeti típust jelöli a megjelenítésben. A hibakereső változó ablaka csak a proxytípus nyilvános tagjait jeleníti meg. A privát tagok nem jelennek meg.
Ez az attribútum a következőre alkalmazható:
- Structures
- Osztályok
- Assemblies
Megjegyzés:
Natív kód esetén ez az attribútum csak C++/CLI-kódban támogatott.
A típusproxy-osztálynak olyan konstruktorsal kell rendelkeznie, amely a lecserélendő proxy típusának argumentumát veszi fel. A hibakereső minden alkalommal létrehoz egy új típusú proxyosztálypéldányt, amikor meg kell jelenítenie a céltípus változóját. Ez hatással lehet a teljesítményre. Ennek eredményeképpen kerülje a konstruktor felesleges munkáját.
A teljesítmény csökkenésének minimalizálása érdekében a kifejezésértékelő nem vizsgálja meg a típus megjelenítési proxyján lévő attribútumokat, kivéve ha a felhasználó kibontja a típust a hibakereső ablakban a + jelre kattintva, vagy a DebuggerBrowsableAttribute használatával. Ezért ne helyezzen attribútumokat magára a megjelenítési típusra. A megjelenítési típus szövegtörzsében az attribútumokat lehet és kell használni.
Célszerű, ha a típusproxy az attribútum által megcélzott osztályon belül egy privát beágyazott osztályként szerepel. Ez lehetővé teszi a belső tagok könnyű elérését.
DebuggerTypeProxyAttribute örökölhető, így ha egy típusproxy egy alaposztályon van megadva, az bármely származtatott osztályra vonatkozik, kivéve, ha ezek a származtatott osztályok saját típusproxyt adnak meg.
Ha DebuggerTypeProxyAttribute-t a szerelvény szintjén használják, a Target paraméter megadja a lecserélendő proxy típusát.
Az attribútum DebuggerDisplayAttribute és DebuggerTypeProxyAttribute használatára vonatkozó példa a DebuggerDisplay attribútum használata című témakörben található.
Fontos
Ha a Változók ablakában az objektumok nyers szerkezetének megjelenítése lehetőséget választja, a rendszer figyelmen kívül hagyja az DebuggerDisplay attribútumot. Ez a beállítás az Eszközök>beállításai panelen, az Összes beállítás>hibakeresése>általános szakaszában található.
Fontos
Ha a Változók ablakában az objektumok nyers szerkezetének megjelenítése lehetőséget választja, a rendszer figyelmen kívül hagyja az DebuggerDisplay attribútumot. Ez a beállítás az Eszközök>beállításai párbeszédpanelen, a Hibakeresés>általános szakaszában található.
A Generics használata a DebuggerTypeProxyval
A generikusok támogatása korlátozott. C# DebuggerTypeProxy esetén csak a nyitott típusok támogatottak. A nyitott típus, más néven strukturálatlan típus olyan általános típus, amely nem példányosít a típusparaméterek argumentumaival. A zárt típusok, más néven a konstruktált típusok nem támogatottak.
A megnyitott típus szintaxisa így néz ki:
Namespace.TypeName<,>
Ha a DebuggerTypeProxy-ban általános típust használ célként, akkor ezt a szintaxist kell használnia. A DebuggerTypeProxy mechanizmus kikövetkezteti a típusparamétereket az Ön számára.
A C# nyitott és zárt típusaival kapcsolatos további információkért lásd a C# nyelvi specifikációját, a 20.5.2 Nyitott és zárt típusokat ismertető szakaszt.
A Visual Basic nem rendelkezik nyitott típusú szintaxissal, így a Visual Basicben nem lehet ugyanezt megtenni. Ehelyett a nyitott típusú név sztring-ábrázolását kell használnia.
"Namespace.TypeName'2"