Freigeben über


IVisualizerObjectProvider2 Schnittstelle

Definition

Stellt zusätzliche Funktionen bereit, um Daten vom Debuggee an die Visualizer zu übergeben.

public interface class IVisualizerObjectProvider2 : Microsoft::VisualStudio::DebuggerVisualizers::IVisualizerObjectProvider
public interface IVisualizerObjectProvider2 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider
type IVisualizerObjectProvider2 = interface
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider2
Implements IVisualizerObjectProvider
Abgeleitet
Implementiert

Hinweise

Das IVisualizerObjectProvider An die DialogDebuggerVisualizerShow(IDialogVisualizerService, IVisualizerObjectProvider) -Methode für VS 16.10 übergebene Objekt ist von diesem Typ. Daher sollten Sie es für die Verwendung dieser neuen Funktionalität umwandeln.

Eigenschaften

IsBinaryFormatterSupported

Gibt an, ob der Debuggee binaryFormatter unterstützt, da er in .NET 5 veraltet war. Wenn dies nicht der Fall ist, verwendet der Anbieter am häufigsten JSON, um mit der Schnellansicht zu kommunizieren.

(Geerbt von IVisualizerObjectProvider)
IsObjectReplaceable

Gibt an, ob ein Ersatzobjekt erstellt werden kann. Das heißt, bestimmt, ob das zu visualisierende Datenobjekt ersetzbar (Lese-/Schreibzugriff) oder nicht austauschbar (schreibgeschützt) ist.

(Geerbt von IVisualizerObjectProvider)

Methoden

Deserialize(Stream)
Veraltet.

Legacyhilfsmethode, die von alten Schnellansichten verwendet wird, die das Schreiben von Deserialisierungscode erleichtert. Es verwendet die standardmäßige binäre Serialisierung, um das angegebene Objekt aus dem Stream zu lesen. Aufgrund von Sicherheitsrisiken bei der Verwendung sollte es jedoch nicht mehr verwendet werden und löst neuere Versionen von .NET wie ASP.NET Core 5.0 aus.

Wenn für eine Ziel-App aufgerufen wird, die binäre Serialisierung unterstützt, wird der Stream nach Abschluss der Methode gelesen, und wir geben das zugrunde liegende Objekt zurück.

GetData()

Ruft ein anfängliches Datenblob über das objekt ab, das debuggen wird. Die Daten werden in den bereitgestellten MemoryStream geschrieben.

(Geerbt von IVisualizerObjectProvider)
GetDeserializableObject()

Ruft die Daten mithilfe von GetData ab und gibt dann ein IDeserializableObject zurück, damit der Aufrufer mit JSON deserialisieren kann, wenn die Standardserialisierung nicht unterstützt wird.

GetDeserializableObjectFrom(Stream)

Hilfsmethode, die verwendet werden kann, um ein deserialisierbares Objekt für Fälle abzurufen, in denen die Ziel-App die binäre Serialisierung möglicherweise nicht unterstützt. In diesen Fällen sollte das zugrunde liegende Format mithilfe von JSON serialisiert werden, sodass Aufrufer einzelne Eigenschaften abfragen können, um den Typ des Objekts zu bestimmen, das sie deserialisieren möchten.

GetObject()
Veraltet.

Ruft die Daten mithilfe von GetData ab und deserialisiert dann, wenn die Standardserialisierung durchgeführt wurde.

(Geerbt von IVisualizerObjectProvider)
ReplaceData(Stream)

Erstellt eine Ersatzkopie des Objekts basierend auf den angegebenen serialisierten Daten.

(Geerbt von IVisualizerObjectProvider)
ReplaceObject(Object)

Serialisiert das Objekt mithilfe der Standardserialisierung und legt dann die Daten mithilfe von ReplaceData fest.

(Geerbt von IVisualizerObjectProvider)
Serialize(Object, Stream)

Hilfsmethode, die das Schreiben von Serialisierungscode vereinfacht.

Wenn die Ziel-App die binäre Serialisierung unterstützt, serialisiert sie das Objekt mithilfe der BinaryFormatter-Klasse in den Stream. Wenn dies nicht unterstützt wird, was in neueren Versionen von .NET der Fall ist, wird das Objekt standardmäßig im JSON-Format serialisiert.

TransferData(Stream)

Überträgt die Daten bidirektional an die TransferData-Methode auf der VisualizerObjectSource

(Geerbt von IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Serialisiert das ausgehende Objekt mithilfe eines IDeserializableObject und ruft dann TransferData auf. Nach der Rückgabe deserialisiert die eingehenden Daten und gibt das Objekt zurück, das in ein IDeserializableObject umschlossen ist.

TransferObject(Object)
Veraltet.

Serialisiert das ausgehende Objekt mithilfe der Standardserialisierung und ruft dann TransferData auf. Nach der Rückgabe deserialisiert die eingehenden Daten und gibt das deserialisierte Objekt zurück.

(Geerbt von IVisualizerObjectProvider)

Gilt für: