IVisualizerObjectProvider Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 |