Sdílet prostřednictvím


VisualizerObjectSource Třída

Definice

Poskytuje přístup k objektu, který je vizualizován.
Podtřídu této třídy za účelem poskytování vlastních funkcí.

public ref class VisualizerObjectSource
[Windows::Foundation::Metadata::WebHostHidden]
class VisualizerObjectSource
public class VisualizerObjectSource
type VisualizerObjectSource = class
Public Class VisualizerObjectSource
Dědičnost
VisualizerObjectSource

Příklady

[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")]  

Poznámky

Vizualizér je malý program, který ladicí program sady Visual Studio používá k zobrazení (vizualizaci) objektu určitého datového typu smysluplným způsobem. K vizualizaci objektu vizualizér používá kód, který běží v procesu ladicího programu ( na straně ladicího programu) a kód v procesu, který se ladí ( na straně ladicího programu).

Strana ladicího programu a ladicí strana vzájemně komunikují pomocí visualizerObjectSource a IVisualizerObjectProvider.

Ladicí strana používá DebuggerVisualizerAttribute k určení VizualizérObjectSource objektu pro stranu ladicího programu. Ladicí program k němu má přístup nepřímo prostřednictvím IVisualizerObjectProvider rozhraní.

Konstruktory

VisualizerObjectSource()

Poskytuje přístup k objektu, který je vizualizován.
Podtřídu této třídy za účelem poskytování vlastních funkcí.

Vlastnosti

IsBinaryFormatterSupported

Vrátí hodnotu true, pokud ladicí proces, kde je vizualizér hostovaný podporuje binary formatter třídy. Pokud tomu tak není, třídy odvozené z této třídy by měly serializovat své objekty prostřednictvím JSON.

SelectedFormatterPolicy

Zásady formátování, které má tato třída v úmyslu použít při serializaci/deserializaci informací. Ladicí program ho však může přepsat ve scénářích, kde zvolená zásada formátu není podporovaná.

Metody

CreateReplacementObject(Object, Stream)

Vytvoří a vrátí náhradní objekt pro objekt předaný na základě serializovaných dat.

Deserialize(Stream)
Zastaralé.

Starší pomocné metody používané starými vizualizéry, které usnadňují zápis serializačního kódu. Používá výchozí binární serializaci ke čtení daného objektu z datového proudu. Kvůli chybám zabezpečení s jeho použitím by se ale už neměl používat a bude znamenat, že se bude zobrazovat na novějších verzích .NET, jako je ASP.NET Core 5.0.

Pokud je volána v cílové aplikaci, která podporuje binární serializaci, po dokončení metody je ukazatel na čtení datového proudu pokročilý za bajty objektu.

DeserializeFromJson(Stream, Type, Object)

Deserializuje data ve formátu JSON ze zadaného datového proudu do objektu určitého typu pomocí knihovny Newtonsoft.Json.

DeserializeFromJson<T>(Stream, Object)

Deserializuje data ve formátu JSON ze zadaného datového proudu do objektu určitého typu pomocí knihovny Newtonsoft.Json.

GetData(Object, Stream)

Získá objekt blob dat. Zapíše data z objektu do objektu memorystream.

GetDeserializableObject(Stream)

Pomocná metoda, která se dá použít k získání deserializovatelného objektu v případech, kdy cílová aplikace nemusí podporovat binární serializaci. V těchto případech by měl být podkladový formát serializován pomocí JSON, aby volající mohli dotazovat jednotlivé vlastnosti a určit typ objektu, který chtějí deserializovat.

Serialize(Stream, Object)

Serializuje zadaný objekt do datového proudu.

Ve výchozím nastavení budou objekty serializovány pomocí binární serializace prostřednictvím BinaryFormatter. Pokud však cílová aplikace nepodporuje binární serializaci (jako v případě aplikací ASP.NET Core 5.0 nebo novější), metoda serializuje objekt pomocí jakékoli dostupné technologie serializace JSON.

Binární serializace není podporována v mimoprocesových vizualizérech. Proto je tato metoda vždy serializuje pomocí knihovny Newtonsoft.Json.

SerializeAsJson(Stream, Object, Object)

Serializuje zadaný objekt jako JSON do streamu pomocí knihovny Newtonsoft.Json.

TransferData(Object, Stream, Stream)

Vyvolá se, když typ vizualizéru na straně uživatelského rozhraní volá IVisualizerObjectProvider.TransferData(Stream) nebo IVisualizerObjectProvider.TransferObject(object).

Tuto metodu lze použít k definování vlastního protokolu předávání zpráv pro komunikaci mezi typy vizualizéru na straně uživatelského rozhraní a ladicí strany nebo k vyvolání vlastních akcí typu vizualizéru na straně ladění. Typ vizualizéru na straně uživatelského rozhraní může předávat libovolná data serializovaná do incomingData a typ vizualizéru na straně ladění může reagovat libovolnými daty serializovanými do outgoingData.

Platí pro