Za pomocą atrybutu DebuggerTypeProxy
DebuggerTypeProxyAttributeOkreśla serwer proxy lub podstawiony typu i zmiany typu sposób wyświetlania w systemie windows debugera.Podczas przeglądania zmienną serwera proxy serwera proxy oznacza oryginalnego typu w wyświetlić.Okno zmienne debugera wyświetla publicznych członków typ serwera proxy.Członkowie prywatne nie są wyświetlane.
Atrybut ten można stosować do:
Struktury
Klasy
Zespoły
Typ klasy proxy musi mieć konstruktora, który przyjmuje argument typu, który zastąpi serwera proxy.Debuger tworzy nową instancję klasy proxy typu, przy każdym musi wyświetlić zmiennej typu docelowego.Może to mieć wpływ na wydajność.W rezultacie nie należy wykonać więcej pracy w konstruktorze niż jest to absolutnie konieczne.
Aby zminimalizować wydajności kary, oceniającego wyrażenie nie zbadać atrybutów wyświetlania serwera proxy typu chyba, że typ jest rozwinięty, klikając użytkownika + symbol w oknie Debuger lub za pomocą DebuggerBrowsableAttribute.Nie powinny w związku z tym, umieść atrybuty na typ wyświetlania.Atrybuty mogą i powinny być stosowane w treści typ wyświetlania.
Jest dobrym pomysłem typ serwera proxy za prywatne klasy zagnieżdżone w klasie że cele atrybutu.Dzięki temu łatwo uzyskać dostęp członkowie wewnętrznego.
Jeśli DebuggerTypeProxyAttribute jest używana na poziomie zestawu Target parametr określa typ, który zastąpi serwera proxy.
Na przykład za pomocą tego atrybutu, wraz z DebuggerDisplayAttribute i DebuggerTypeProxyAttribute, zobaczZa pomocą atrybutu DebuggerDisplay.
Używanie produktów pierwotnych z DebuggerTypeProxy
Obsługa generyczne jest ograniczona.W C# DebuggerTypeProxy obsługuje tylko otwarte typów.Otwartego typu, zwany także unconstructed, jest typ rodzajowy, który nie wystąpienia z argumentami jego parametrów typu.Typy zamkniętych, nazywane również konstruowanej typy nie są obsługiwane.
Składnia otwartego typu wygląda następująco:
Namespace.TypeName<,>
Należy użyć typu rodzajowego jako cel w DebuggerTypeProxy, należy użyć następującej składni.DebuggerTypeProxy Mechanizmu jest ustalany dla Ciebie parametrów typu.
Aby uzyskać więcej informacji na temat typów otwarte i zamknięte w C# zobacz Specyfikacja języka C#, otwórz sekcję 20.5.2 i zamknięte typy.
Visual Basic nie ma Składnia typu open, więc nie jest samo w języku Visual Basic.Zamiast tego należy użyć ciągu reprezentującego Otwórz wpisz nazwę.
"Namespace.TypeName'2"
Zobacz też
Informacje
Za pomocą atrybutu DebuggerDisplay