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