Udostępnij przez


Implementacja wizualizatorów typów i niestandardowych przeglądarek

Ważne

W programie Visual Studio 2015 ten sposób implementowania ewaluatorów wyrażeń jest przestarzały. Aby uzyskać informacje na temat implementowania ewaluatorów wyrażeń CLR, zobacz ewaluatory wyrażeń CLR oraz przykład ewaluatora wyrażeń zarządzanych.

Wizualizatory typów i przeglądarki niestandardowe umożliwiają użytkownikowi wyświetlanie danych określonego typu w sposób bardziej zrozumiały niż prosty zrzut liczb w formacie szesnastkowym. Ewaluator wyrażeń (EE) może skojarzyć niestandardowe widoki z określonymi typami danych i zmiennych. Te niestandardowe przeglądarki są implementowane przez EE. EE może również obsługiwać wizualizatory typów zewnętrznych, które mogą pochodzić od innego dostawcy lub nawet użytkownika końcowego.

Dyskusja

Wizualizatory typów

Program Visual Studio prosi o listę wizualizatorów typów i niestandardowych przeglądarek, aby każdy obiekt mógł być wyświetlany w oknie obserwacji. Ewaluator wyrażeń (EE) udostępnia taką listę dla każdego typu, dla którego obsługuje wizualizatory i przeglądarki niestandardowe. Wywołania metody GetCustomViewerCount i GetCustomViewerList zapoczątkowują proces uzyskiwania dostępu do wizualizatorów typów i niestandardowych wizualizatorów (zobacz Wizualizacja i wyświetlanie danych, aby uzyskać szczegółowe informacje na temat sekwencji wywołań).

Niestandardowe przeglądarki

Niestandardowe przeglądarki są implementowane w EE dla określonego typu danych i są reprezentowane przez interfejs IDebugCustomViewer. Przeglądarka niestandardowa nie jest tak elastyczna jak wizualizator typów, ponieważ jest dostępna tylko wtedy, gdy EE implementuje tę konkretną przeglądarkę niestandardową. Implementowanie przeglądarki niestandardowej jest prostsze niż implementowanie obsługi wizualizatorów typów. Jednak obsługa wizualizatorów typów zapewnia użytkownikowi końcowemu maksymalną elastyczność wizualizacji danych. Pozostała część tej dyskusji dotyczy tylko wizualizatorów typów.

Interfaces

EE implementuje następujące interfejsy do obsługi wizualizatorów typów, które mają być używane przez program Visual Studio: