Sdílet prostřednictvím


IVisualizerObjectProvider3 Rozhraní

Definice

Umožňuje vizualizéru ladicí program a ladicí součásti na straně koordinovat mechanismus serializace, který se má použít, a poskytuje další funkce pro předávání dat na stranu ladění s ohledem na SelectedFormatterPolicy.

public interface IVisualizerObjectProvider3 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IVisualizerObjectProvider3 = interface
    interface IVisualizerObjectProvider2
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider3
Implements IVisualizerObjectProvider2
Implementuje

Vlastnosti

IsBinaryFormatterSupported

Určuje, jestli ladicí nástroj podporuje BinaryFormatter, protože byl v .NET 5 zastaralý. Pokud ne, poskytovatel ke komunikaci s vizualizérem nejčastěji používá JSON.

(Zděděno od IVisualizerObjectProvider)
IsObjectReplaceable

Určuje, zda lze vytvořit náhradní objekt. To znamená, že určuje, jestli je vizualizovaný datový objekt nahraditelný (pro čtení/zápis) nebo nenahraditelný (jen pro čtení).

(Zděděno od IVisualizerObjectProvider)
SelectedFormatterPolicy

Zásady formátování, které tato třída použije při serializaci/deserializaci informací.

Metody

Deserialize(Stream)
Zastaralé.

Starší pomocná metoda používaná starými vizualizéry, která usnadňuje psaní kódu deserializace. 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 se datový proud přečte a vrátíme podkladový objekt.

(Zděděno od IVisualizerObjectProvider2)
DeserializeFromJson<T>(Stream, Object)

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

GetData()

Získá počáteční objekt blob dat o objektu ladění. Data se zapíšou do zadaného MemoryStreamu.

(Zděděno od IVisualizerObjectProvider)
GetDeserializableObject()

Získá data pomocí GetData a pak vrátí IDeserializableObject tak, že volající může deserializovat s JSON, pokud není podporována výchozí seriallizace.

(Zděděno od IVisualizerObjectProvider2)
GetDeserializableObjectFrom(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.

(Zděděno od IVisualizerObjectProvider2)
GetObject()
Zastaralé.

Získá data pomocí GetData a poté deserializuje za předpokladu, že byla provedena výchozí serializace.

(Zděděno od IVisualizerObjectProvider)
GetObject<T>()

Získá data pomocí GetData() a pak se pokusí deserializovat na zadaný typ.

ReplaceData(Stream)

Vytvoří náhradní kopii objektu na základě zadaných serializovaných dat.

(Zděděno od IVisualizerObjectProvider)
ReplaceObject(Object)

Serializuje objekt pomocí výchozí serializace a pak nastaví data pomocí ReplaceData.

(Zděděno od IVisualizerObjectProvider)
Serialize(Object, Stream)

Pomocná metoda, která usnadňuje psaní serializačního kódu.

Pokud cílová aplikace podporuje binární serializaci, serializuje objekt do datového proudu pomocí Třídy BinaryFormatter. Pokud to není podporováno, což je případ v novějších verzích .NET, ve výchozím nastavení se objekt serializuje ve formátu JSON.

(Zděděno od IVisualizerObjectProvider2)
TransferData(Stream)

Přenos dat obousměrně do metody TransferData na VizualizérObjectSource

(Zděděno od IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Serializuje odchozí objekt pomocí jako IDeserializableObject a pak volá TransferData. Při návratu deserializuje příchozí data a vrátí objekt zabalený v objektu IDeserializableObject.

(Zděděno od IVisualizerObjectProvider2)
TransferObject(Object)
Zastaralé.

Serializuje odchozí objekt pomocí výchozí serializace a pak volá TransferData. Při vrácení deserializuje příchozí data a vrátí deserializovaný objekt.

(Zděděno od IVisualizerObjectProvider)
TransferObject<T>(Object)

Serializuje odchozí objekt pomocí SelectedFormatterPolicy a pak volá TransferData(Stream). Po návratu se pokusí deserializovat příchozí data a vrátí objekt zadaného typu.

Platí pro