IVisualizerObjectProvider3 Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |