Udostępnij za pośrednictwem


IVisualizerObjectProvider Interfejs

Definicja

Udostępnia dane obiektów z debuggee do wizualizatora.

public interface class IVisualizerObjectProvider
public interface class IVisualizerObjectProvider
__interface IVisualizerObjectProvider
public interface IVisualizerObjectProvider
type IVisualizerObjectProvider = interface
Public Interface IVisualizerObjectProvider
Pochodne

Przykłady

public class DebuggerSide : DialogDebuggerVisualizer  
{  
    override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
    {
         MessageBox.Show(objectProvider.GetObject<object>().ToString());
    }
    // . . . Other methods omitted for clarity.  
}

Uwagi

Wizualizator to mały program używany przez debuger programu Visual Studio do wyświetlania (wizualizowania) obiektu określonego typu danych w zrozumiały sposób. Aby zwizualizować obiekt, wizualizator używa kodu uruchamianego w procesie debugera (po stronie debugera) i kodu w debugowaniu (po stronie debugera).

Strona debugera i debuggee komunikują się ze sobą przy użyciu elementów VisualizerObjectSource i IVisualizerObjectProvider.

Strona debuggee używa VisualizerObjectSource do określenia VisualizerObjectSource obiektu po stronie debugera. Debuger żądań po stronie i odbiera te informacje, wywołując metody w interfejsie IVisualizerObjectProvider .

Wizualizator może edytować, a także wyświetlać dane. Jeśli wizualizator obsługuje edytowanie danych, musisz zastąpić je całkowicie wywołaniem ReplaceData(Stream) lub ReplaceObject(Object) przeniesieniem danych z powrotem do debuggee przy użyciu polecenia TransferData(Stream) lub TransferObject(Object). Jeśli chcesz zapisać dane z powrotem, musisz również utworzyć własne źródło obiektów.

Właściwości

IsBinaryFormatterSupported

Określa, czy debuggee obsługuje program BinaryFormatter, ponieważ został przestarzały na platformie .NET 5. Jeśli tak nie jest, dostawca najczęściej używa formatu JSON do komunikowania się z wizualizatorem.

IsObjectReplaceable

Określa, czy można utworzyć obiekt zastępczy. Oznacza to, że określa, czy wizualizowany obiekt danych jest zastępowalny (odczyt/zapis) lub niezastąpiony (tylko do odczytu).

Metody

GetData()

Pobiera początkowy obiekt blob danych dotyczących debugowanego obiektu. Dane są zapisywane w podanym obiekcie MemoryStream.

GetObject()
Przestarzałe.

Pobiera dane przy użyciu metody GetData, a następnie deserializuje przy założeniu, że domyślna serializacja została wykonana

ReplaceData(Stream)

Tworzy kopię zastępczą obiektu na podstawie danych serializowanych.

ReplaceObject(Object)

Serializuje obiekt przy użyciu domyślnej serializacji, a następnie ustawia dane przy użyciu metody ReplaceData

TransferData(Stream)

Transferuje dane dwukierunkowo do metody TransferData w obiekcie VisualizerObjectSource

TransferObject(Object)
Przestarzałe.

Serializuje obiekt wychodzący przy użyciu domyślnej serializacji, a następnie wywołuje metodę TransferData. Po powrocie deserializuje dane przychodzące i zwraca obiekt deserializowany

Dotyczy