Pomocí atributu DebuggerTypeProxy
DebuggerTypeProxyAttributeUrčuje server proxy nebo stand-in typu a změny způsobu typ je zobrazen v ladicí program systému windows.Při zobrazení proměnné, kterou má server proxy server proxy zastupuje původní typ v zobrazení.Ladicí okno proměnné zobrazí pouze veřejné členy typ serveru proxy.Soukromé členy nejsou zobrazeny.
Tento atribut lze použít:
Struktury
Třídy
Sestavení
Typ třídy proxy musí mít konstruktor, který převezme argument typ, který nahradí server proxy.Ladicí program vytvoří novou instanci třídy proxy typu pokaždé, když bude potřebovat zobrazit proměnné typu cíle.To může mít vliv na výkon.Nepoužívejte proto jakékoli více práce v konstruktoru, než je nezbytně nutné.
Chcete-li minimalizovat výkon sankce vyhodnocení výrazu zkontrolovat atributy proxy zobrazení typu Pokud je typ rozbalit klepnutím uživatele + symbol v okně debugger nebo použití DebuggerBrowsableAttribute.Proto je atributy nejsou na typ zobrazení umístit.Atributy lze a je třeba použít zobrazení typu subjektu.
Je vhodné se soukromé vnořené třídy v rámci třídy proxy typu, atribut cíle.Umožňuje snadno získat přístup k interní členové.
Pokud DebuggerTypeProxyAttribute se používá na úrovni sestavení Target parametr určuje typ, který nahradí server proxy.
Příklad použití tohoto atributu spolu s DebuggerDisplayAttribute a DebuggerTypeProxyAttribute, vizPomocí atributu DebuggerDisplay.
Pomocí Generics s DebuggerTypeProxy
Podpora generics je omezena.Pro C# DebuggerTypeProxy podporuje pouze typy otevřít.Otevřít typ, také nazývaný unconstructed typu, je obecný typ, který není s argumenty pro jeho parametry typu instance.Uzavřené typy, nazývané také vyrobeny typy nejsou podporovány.
Syntaxe pro otevřený typ vypadá takto:
Namespace.TypeName<,>
Použít obecný typ jako cíl v DebuggerTypeProxy, je nutné použít tuto syntaxi.DebuggerTypeProxy Mechanismus odvodí můžete parametry typu.
Další informace o typech otevřené a uzavřené v jazyce C# naleznete Specifikace jazyka C#, otevřete oddíl 20.5.2 a uzavřené typy.
Visual Basic nemá otevřít typ syntaxe, takže nelze provést stejnou funkci v jazyce Visual Basic.Místo toho musíte použít otevřít název řetězcové vyjádření.
"Namespace.TypeName'2"
Viz také
Referenční dokumentace
Pomocí atributu DebuggerDisplay