Udostępnij za pośrednictwem


VisualizerObjectSource Klasa

Definicja

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.
Podklasa tej klasy, aby zapewnić funkcjonalność niestandardową.

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 incomingData elementu , a typ wizualizatora po stronie debugowania może odpowiadać za pomocą dowolnych danych serializowanych w programie outgoingData.

Dotyczy