Freigeben über


IVisualizerObjectProvider3 Schnittstelle

Definition

Ermöglicht debugger- und debuggee-seitenkomponenten der Visualizer koordinieren, für welchen Serialisierungsmechanismus verwendet werden soll, und bietet zusätzliche Funktionen zum Übergeben von Daten an die Debuggee-Seite unter Berücksichtigung von SelectedFormatterPolicy.

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

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)
SelectedFormatterPolicy

Die Formatrichtlinie, die diese Klasse beim Serialisieren/Deserialisieren von Informationen verwendet.

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.

(Geerbt von IVisualizerObjectProvider2)
DeserializeFromJson<T>(Stream, Object)

Deserialisiert die Daten im Newtonsoft.Json-Format aus dem angegebenen Stream in ein Objekt eines bestimmten Typs.

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.

(Geerbt von IVisualizerObjectProvider2)
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.

(Geerbt von IVisualizerObjectProvider2)
GetObject()
Veraltet.

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

(Geerbt von IVisualizerObjectProvider)
GetObject<T>()

Ruft die Daten mithilfe GetData() ab, und versucht dann, sie in den angegebenen Typ zu deserialisieren.

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.

(Geerbt von IVisualizerObjectProvider2)
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.

(Geerbt von IVisualizerObjectProvider2)
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)
TransferObject<T>(Object)

Serialisiert das ausgehende Objekt mithilfe von SelectedFormatterPolicy und ruft dann auf TransferData(Stream). Nach der Rückgabe versucht es, die eingehenden Daten zu deserialisieren und das Objekt des angegebenen Typs zurückzugeben.

Gilt für: