VisualizerObjectSource Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia dostęp do wizualizowanego obiektu.
Podklasa tej klasy, aby zapewnić funkcjonalność niestandardową.
public ref class VisualizerObjectSource
[Windows::Foundation::Metadata::WebHostHidden]
class VisualizerObjectSource
public class VisualizerObjectSource
type VisualizerObjectSource = class
Public Class VisualizerObjectSource
- Dziedziczenie
-
VisualizerObjectSource
Przykłady
[assembly: System.Diagnostics.DebuggerVisualizer(
typeof(MyFirstVisualizer.DebuggerSide),
// The object source is specified on the next line <<<<<
typeof(VisualizerObjectSource),
Target = typeof(System.String),
Description = "My First Visualizer")]
Uwagi
Wizualizator to mały program, którego debuger programu Visual Studio używa do wyświetlania (wizualizowania) obiektu określonego typu danych w zrozumiały sposób. Aby zwizualizować obiekt, wizualizator używa kodu uruchamianego w procesie debugera (po stronie debugera) i kodu w debugowaniu ( po stronie debugera).
Strona debugera i debuggee komunikują się ze sobą przy użyciu elementu VisualizerObjectSource i IVisualizerObjectProvider.
Strona debugowania używa elementu , DebuggerVisualizerAttribute aby określić obiekt VisualizerObjectSource po stronie debugera. Strona debugera ma dostęp do niego pośrednio za pośrednictwem interfejsu IVisualizerObjectProvider .
Konstruktory
VisualizerObjectSource() |
Zapewnia dostęp do wizualizowanego obiektu. |
Właściwości
IsBinaryFormatterSupported |
Zwraca wartość true, jeśli proces debuggee, w którym hostowany jest wizualizator, obsługuje klasę Binary Formatter. Jeśli tak nie jest, klasy pochodzące z tej klasy powinny serializować swoje obiekty za pośrednictwem formatu JSON. |
SelectedFormatterPolicy |
Zasady formatowania, których ta klasa zamierza użyć podczas serializacji/deserializacji informacji. Można go jednak zastąpić debugerem w scenariuszach, w których wybrane zasady formatu nie są obsługiwane. |
Metody
CreateReplacementObject(Object, Stream) |
Tworzy i zwraca obiekt zastępczy dla obiektu przekazanego na podstawie serializowanych danych. |
Deserialize(Stream) |
Przestarzałe.
Starsza metoda pomocnika używana przez stare wizualizatory, która ułatwia pisanie kodu serializacji. Używa domyślnej serializacji binarnej do odczytywania danego obiektu ze strumienia. Jednak ze względu na luki w zabezpieczeniach z użyciem nie powinny być już używane i będą zgłaszane do nowszych wersji platformy .NET, takich jak ASP.NET Core 5.0. Jeśli jest wywoływana w aplikacji docelowej, która obsługuje serializację binarną, po zakończeniu działania metody wskaźnik odczytu strumienia jest zaawansowany obok bajtów obiektu |
DeserializeFromJson(Stream, Type, Object) |
Deserializuje dane w formacie JSON z określonego strumienia do obiektu określonego typu przy użyciu biblioteki Newtonsoft.Json. |
DeserializeFromJson<T>(Stream, Object) |
Deserializuje dane w formacie JSON z określonego strumienia do obiektu określonego typu przy użyciu biblioteki Newtonsoft.Json. |
GetData(Object, Stream) |
Pobiera obiekt blob danych. Zapisuje dane z obiektu do strumienia pamięci. |
GetDeserializableObject(Stream) |
Metoda pomocnika, która może służyć do uzyskania obiektu deserializowalnego w przypadkach, w których aplikacja docelowa może nie obsługiwać serializacji binarnej. W takich przypadkach format źródłowy powinien być serializowany przy użyciu formatu JSON, więc wywołujący mogą wykonywać zapytania o poszczególne właściwości, aby określić typ obiektu, który chce deserializować. |
Serialize(Stream, Object) |
Serializuje określony obiekt do strumienia. Domyślnie obiekty będą serializowane przy użyciu serializacji binarnej za pośrednictwem .BinaryFormatter Jeśli jednak aplikacja docelowa nie obsługuje serializacji binarnej (tak jak w przypadku aplikacji ASP.NET Core 5.0+), metoda będzie serializować obiekt przy użyciu dowolnej dostępnej technologii serializacji JSON. Serializacja binarna nie jest obsługiwana w wizualizatorach procesów. W związku z tym ta metoda zawsze będzie serializować je przy użyciu biblioteki Newtonsoft.Json. |
SerializeAsJson(Stream, Object, Object) |
Serializuje określony obiekt w formacie JSON do strumienia przy użyciu biblioteki Newtonsoft.Json. |
TransferData(Object, Stream, Stream) |
Wywoływane, gdy typ wizualizatora po stronie interfejsu użytkownika wywołuje metodę IVisualizerObjectProvider.TransferData(Stream) lub IVisualizerObjectProvider.TransferObject(object).
Ta metoda może służyć do definiowania niestandardowego protokołu przekazywania komunikatów w celu komunikowania się między typami wizualizatora po stronie interfejsu użytkownika i debuggee lub wywoływania akcji niestandardowych w typie wizualizatora po stronie debuggee. Typ wizualizatora po stronie interfejsu użytkownika może przekazać dowolne dane serializowane do |