Freigeben über


IVisualizerObjectProvider Schnittstelle

Definition

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.

Gilt für: