Udostępnij za pośrednictwem


Korzystanie z 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, zobaczKorzystanie z 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

Korzystanie z atrybutu DebuggerDisplay

Koncepcje

Wyświetlanie niestandardowych typów danych

Udoskonalanie debugowania za pomocą atrybutów wyświetlania debugera