Udostępnij za pośrednictwem


IVisualizerObjectProvider3 Interfejs

Definicja

Umożliwia wizualizatorowi debugera i debuggee składników bocznych współrzędnych, na których mechanizm serializacji ma być używany, oraz udostępnia dodatkowe funkcje przekazywania danych do strony debuggee, biorąc pod uwagę SelectedFormatterPolicyelement .

public interface IVisualizerObjectProvider3 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IVisualizerObjectProvider3 = interface
    interface IVisualizerObjectProvider2
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider3
Implements IVisualizerObjectProvider2
Implementuje

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.

(Odziedziczone po IVisualizerObjectProvider)
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).

(Odziedziczone po IVisualizerObjectProvider)
SelectedFormatterPolicy

Zasady formatowania używane przez tę klasę podczas serializacji/deserializacji informacji.

Metody

Deserialize(Stream)
Przestarzałe.

Starsza metoda pomocnika używana przez starych wizualizatorów ułatwia pisanie kodu deserializacji. Używa domyślnej serializacji binarnej, aby odczytać dany obiekt ze strumienia. Jednak ze względu na luki w zabezpieczeniach z użyciem nie powinny być już używane i będą zgłaszane nowsze wersje platformy .NET, takie jak ASP.NET Core 5.0.

Jeśli zostanie wywołana aplikacja docelowa, która obsługuje serializację binarną, po zakończeniu działania strumienia zostanie odczytany i zwrócimy obiekt bazowy.

(Odziedziczone po IVisualizerObjectProvider2)
DeserializeFromJson<T>(Stream, Object)

Deserializuje dane w formacie Newtonsoft.Json z określonego strumienia do obiektu określonego typu.

GetData()

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

(Odziedziczone po IVisualizerObjectProvider)
GetDeserializableObject()

Pobiera dane przy użyciu metody GetData, a następnie zwraca obiekt IDeserializableObject, aby obiekt wywołujący mógł deserializować przy użyciu formatu JSON, jeśli domyślna serializacja nie jest obsługiwana.

(Odziedziczone po IVisualizerObjectProvider2)
GetDeserializableObjectFrom(Stream)

Metoda pomocnika, która może służyć do uzyskiwania obiektu deserializowalnego w przypadkach, w których aplikacja docelowa może nie obsługiwać serializacji binarnej. W takich przypadkach format bazowy powinien być serializowany przy użyciu formatu JSON, więc osoby wywołujące mogą wysyłać zapytania do poszczególnych właściwości, aby określić typ obiektu, który chce deserializacji.

(Odziedziczone po IVisualizerObjectProvider2)
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

(Odziedziczone po IVisualizerObjectProvider)
GetObject<T>()

Pobiera dane przy użyciu GetData() , a następnie próbuje wykonać deserializacji go do określonego typu.

ReplaceData(Stream)

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

(Odziedziczone po IVisualizerObjectProvider)
ReplaceObject(Object)

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

(Odziedziczone po IVisualizerObjectProvider)
Serialize(Object, Stream)

Metoda pomocnika, która ułatwia pisanie kodu serializacji.

Jeśli aplikacja docelowa obsługuje serializację binarną, serializuje obiekt do strumienia za pomocą klasy BinaryFormatter. Jeśli nie jest to obsługiwane, co jest w przypadku nowszych wersji platformy .NET, domyślnie serializuje obiekt w formacie JSON.

(Odziedziczone po IVisualizerObjectProvider2)
TransferData(Stream)

Transferuje dane dwukierunkowo do metody TransferData w obiekcie VisualizerObjectSource

(Odziedziczone po IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Serializuje obiekt wychodzący przy użyciu klasy IDeserializableObject, a następnie wywołuje metodę TransferData. Po powrocie deserializuje dane przychodzące i zwraca obiekt opakowany w obiekt IDeserializableObject.

(Odziedziczone po IVisualizerObjectProvider2)
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

(Odziedziczone po IVisualizerObjectProvider)
TransferObject<T>(Object)

Serializuje obiekt wychodzący przy użyciu elementu , a następnie wywołuje metodę SelectedFormatterPolicyTransferData(Stream). Po powrocie próbuje deserializacji danych przychodzących i zwraca obiekt określonego typu.

Dotyczy