IVisualizerObjectProvider 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.
Stellt Objektdaten vom Debuggee an die Schnellansicht bereit.
public interface class IVisualizerObjectProvider
public interface class IVisualizerObjectProvider
__interface IVisualizerObjectProvider
public interface IVisualizerObjectProvider
type IVisualizerObjectProvider = interface
Public Interface IVisualizerObjectProvider
- Abgeleitet
Beispiele
public class DebuggerSide : DialogDebuggerVisualizer
{
override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
{
MessageBox.Show(objectProvider.GetObject<object>().ToString());
}
// . . . Other methods omitted for clarity.
}
Hinweise
Eine Schnellansicht ist ein kleines Programm, das der Visual Studio-Debugger verwendet, um ein Objekt eines bestimmten Datentyps sinnvoll anzuzeigen (zu visualisieren). Um ein Objekt zu visualisieren, verwendet eine Schnellansicht Code, der im Debuggerprozess (debuggerseitig) ausgeführt wird, und Code im zu debuggenden Prozess (Debuggee-Seite).
Die Debuggerseite und debuggee-Seite kommunizieren miteinander, indem sie VisualizerObjectSource und IVisualizerObjectProviderverwenden.
Die Debuggee-Seite verwendet VisualizerObjectSource , um ein VisualizerObjectSource Objekt für die Debuggerseite anzugeben. Die Debuggerseite fordert diese Informationen an und empfängt diese Informationen, indem Methoden für die IVisualizerObjectProvider Schnittstelle aufgerufen werden.
Eine Schnellansicht kann Daten bearbeiten und anzeigen. Wenn Ihre Schnellansicht das Bearbeiten von Daten unterstützt, müssen Sie die Daten vollständig ersetzen, indem ReplaceData(Stream) Sie mithilfe von oder TransferObject(Object)Daten aufrufen oder ReplaceObject(Object) zurück an die Debuggee TransferData(Stream) übertragen. Wenn Sie Daten zurückspeichern möchten, müssen Sie auch Ihre eigene Objektquelle erstellen.
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. |
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. |
Methoden
GetData() |
Ruft ein anfängliches Datenblob über das objekt ab, das debuggen wird. Die Daten werden in den bereitgestellten MemoryStream geschrieben. |
GetObject() |
Veraltet.
Ruft die Daten mithilfe von GetData ab und deserialisiert dann, wenn die Standardserialisierung durchgeführt wurde. |
ReplaceData(Stream) |
Erstellt eine Ersatzkopie des Objekts basierend auf den angegebenen serialisierten Daten. |
ReplaceObject(Object) |
Serialisiert das Objekt mithilfe der Standardserialisierung und legt dann die Daten mithilfe von ReplaceData fest. |
TransferData(Stream) |
Überträgt die Daten bidirektional an die TransferData-Methode auf der VisualizerObjectSource |
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. |