IAsyncVisualizerObjectProvider Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет асинхронную реализацию для методов, определенных в IVisualizerObjectProvider2 , которые предоставляют функциональные возможности для передачи данных отладочного объекта визуализатору и наоборот.
public interface IAsyncVisualizerObjectProvider : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IAsyncVisualizerObjectProvider = interface
interface IVisualizerObjectProvider2
interface IVisualizerObjectProvider
Public Interface IAsyncVisualizerObjectProvider
Implements IVisualizerObjectProvider2
- Реализации
Комментарии
ОбъектIVisualizerObjectProvider, передаваемый Show(IDialogVisualizerService, IVisualizerObjectProvider) в метод для VS 17.2 и более поздних версий, относится к DialogDebuggerVisualizerэтому типу, поэтому его следует привести к использованию этой новой функции.
Свойства
IsBinaryFormatterSupported |
Указывает, поддерживает ли отладчик BinaryFormatter, так как он был нерекомендуем в .NET 5. Если это не так, поставщик чаще всего использует JSON для взаимодействия с визуализатором. (Унаследовано от IVisualizerObjectProvider) |
IsObjectReplaceable |
Указывает, можно ли создать замещающий объект. То есть определяет, является ли визуализируемый объект данных заменяемым (чтение и запись) или невосполним (только для чтения). (Унаследовано от IVisualizerObjectProvider) |
Методы
Deserialize(Stream) |
Устаревшие..
Устаревший вспомогательный метод, используемый старыми визуализаторами, который упрощает написание кода десериализации. Он использует бинарную сериализацию по умолчанию для считывания заданного объекта из потока. Однако из-за уязвимостей системы безопасности с его использованием он больше не должен использоваться и будет вызываться в более новых версиях .NET, таких как ASP.NET Core 5.0. При вызове в целевом приложении, поддерживающем двоичную сериализацию, после завершения метода поток считывается и возвращается базовый объект. (Унаследовано от IVisualizerObjectProvider2) |
GetData() |
Возвращает начальный большой двоичный объект данных об отлаживаемом объекте. Данные записываются в предоставленный MemoryStream. (Унаследовано от IVisualizerObjectProvider) |
GetDeserializableObject() |
Получает данные с помощью GetData, а затем возвращает IDeserializableObject, чтобы вызывающий объект можно было десериализовать с помощью JSON, если сериализация по умолчанию не поддерживается. (Унаследовано от IVisualizerObjectProvider2) |
GetDeserializableObjectAsync(CancellationToken) |
Получает данные с помощью асинхронной версии GetData, а затем возвращает IDeserializableObject, чтобы вызывающий объект можно было десериализовать с помощью JSON, если сериализация по умолчанию не поддерживается. |
GetDeserializableObjectFrom(Stream) |
Вспомогательный метод, который можно использовать для получения десериализуемого объекта в случаях, когда целевое приложение может не поддерживать двоичную сериализацию. В таких случаях базовый формат следует сериализовать с помощью JSON, чтобы вызывающие объекты могли запрашивать отдельные свойства, чтобы определить тип объекта, который требуется десериализовать. (Унаследовано от IVisualizerObjectProvider2) |
GetObject() |
Устаревшие..
Получает данные с помощью GetData, а затем десериализует, предполагая, что сериализация по умолчанию выполнена. (Унаследовано от IVisualizerObjectProvider) |
ReplaceData(Stream) |
Создает замену копии объекта на основе предоставленных сериализованных данных. (Унаследовано от IVisualizerObjectProvider) |
ReplaceDataAsync(Stream, CancellationToken) |
Создает замену копии объекта на основе сериализованных данных, заданных асинхронно. |
ReplaceObject(Object) |
Сериализует объект с помощью сериализации по умолчанию, а затем задает данные с помощью ReplaceData. (Унаследовано от IVisualizerObjectProvider) |
Serialize(Object, Stream) |
Вспомогательный метод, упрощающий написание кода сериализации. Если целевое приложение поддерживает двоичную сериализацию, оно сериализует объект в поток с помощью класса BinaryFormatter. Если это не поддерживается, как в более новых версиях .NET, по умолчанию выполняется сериализация объекта в формате JSON. (Унаследовано от IVisualizerObjectProvider2) |
TransferData(Stream) |
Передает данные двунаправленно в метод TransferData в VisualizerObjectSource (Унаследовано от IVisualizerObjectProvider) |
TransferDeserializableObject(Object) |
Сериализует исходящий объект, используя в качестве IDeserializableObject, а затем вызывает Метод TransferData. При возврате десериализует входящие данные и возвращает объект, заключенный в IDeserializableObject. (Унаследовано от IVisualizerObjectProvider2) |
TransferDeserializableObjectAsync(Object, CancellationToken) |
Сериализует исходящий объект, используя в качестве IDeserializableObject, а затем вызывает асинхронную версию TransferData. При возврате десериализует входящие данные и возвращает объект, заключенный в IDeserializableObject. |
TransferObject(Object) |
Устаревшие..
Сериализует исходящий объект с помощью сериализации по умолчанию, а затем вызывает TransferData. При возврате десериализует входящие данные и возвращает десериализованный объект. (Унаследовано от IVisualizerObjectProvider) |