Поделиться через


IVisualizerObjectProvider2 Интерфейс

Определение

Предоставляет дополнительные функции для передачи данных отладчика визуализатору.

public interface class IVisualizerObjectProvider2 : Microsoft::VisualStudio::DebuggerVisualizers::IVisualizerObjectProvider
public interface IVisualizerObjectProvider2 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider
type IVisualizerObjectProvider2 = interface
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider2
Implements IVisualizerObjectProvider
Производный
Реализации

Комментарии

ОбъектIVisualizerObjectProvider, передаваемый Show(IDialogVisualizerService, IVisualizerObjectProvider) в метод для VS 16.10 и более поздних версий, относится к DialogDebuggerVisualizerэтому типу, поэтому его следует привести для использования этой новой функции.

Свойства

IsBinaryFormatterSupported

Указывает, поддерживает ли отладчик BinaryFormatter, так как он был нерекомендуем в .NET 5. В противном случае поставщик чаще всего использует JSON для взаимодействия с визуализатором.

(Унаследовано от IVisualizerObjectProvider)
IsObjectReplaceable

Указывает, можно ли создать замещающий объект. То есть определяет, является ли визуализируемый объект данных заменяемым (для чтения и записи) или недоступен (только для чтения).

(Унаследовано от IVisualizerObjectProvider)

Методы

Deserialize(Stream)
Устаревшие..

Устаревший вспомогательный метод, используемый старыми визуализаторами, что упрощает написание кода десериализации. Он использует двоичную сериализацию по умолчанию для чтения заданного объекта из потока. Однако из-за уязвимостей системы безопасности с ее использованием больше не следует использовать и будет вызываться в более новых версиях .NET, таких как ASP.NET Core 5.0.

При вызове в целевом приложении, поддерживающем двоичную сериализацию, после завершения метода поток считывается и возвращается базовый объект.

GetData()

Возвращает начальный большой двоичный объект данных об отлаживаемом объекте. Данные записываются в предоставленный MemoryStream.

(Унаследовано от IVisualizerObjectProvider)
GetDeserializableObject()

Получает данные с помощью GetData, а затем возвращает IDeserializableObject, чтобы вызывающий объект смог десериализовать с помощью JSON, если сериализация по умолчанию не поддерживается.

GetDeserializableObjectFrom(Stream)

Вспомогательный метод, который можно использовать для получения десериализуемого объекта в случаях, когда целевое приложение может не поддерживать двоичную сериализацию. В таких случаях базовый формат следует сериализовать с помощью JSON, чтобы вызывающие объекты могли запрашивать отдельные свойства, чтобы определить тип объекта, который они хотят десериализовать.

GetObject()
Устаревшие..

Получает данные с помощью GetData, а затем десериализует, предполагая, что сериализация по умолчанию выполнена.

(Унаследовано от IVisualizerObjectProvider)
ReplaceData(Stream)

Создает замену копии объекта на основе предоставленных сериализованных данных.

(Унаследовано от IVisualizerObjectProvider)
ReplaceObject(Object)

Сериализует объект с помощью сериализации по умолчанию, а затем задает данные с помощью ReplaceData.

(Унаследовано от IVisualizerObjectProvider)
Serialize(Object, Stream)

Вспомогательный метод, упрощающий написание кода сериализации.

Если целевое приложение поддерживает двоичную сериализацию, объект сериализуется в поток с помощью класса BinaryFormatter. Если это не поддерживается, как в более новых версиях .NET, по умолчанию выполняется сериализация объекта в формате JSON.

TransferData(Stream)

Передает данные двунаправленно в метод TransferData в VisualizerObjectSource

(Унаследовано от IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Сериализует исходящий объект, используя в качестве IDeserializableObject, а затем вызывает TransferData. При возврате десериализует входящие данные и возвращает объект, заключенный в IDeserializableObject.

TransferObject(Object)
Устаревшие..

Сериализует исходящий объект с помощью сериализации по умолчанию, а затем вызывает Метод TransferData. При возврате десериализует входящие данные и возвращает десериализованный объект.

(Унаследовано от IVisualizerObjectProvider)

Применяется к