IVisualizerObjectProvider2 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供将数据从调试对象传递到可视化工具的其他功能。
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
- 派生
- 实现
注解
传递给 IVisualizerObjectProviderDialogDebuggerVisualizerShow(IDialogVisualizerService, IVisualizerObjectProvider) VS 16.10 方法的对象属于此类型,因此应将其强制转换为使用此新功能。
属性
IsBinaryFormatterSupported |
指定调试对象是否支持 BinaryFormatter,因为它在 .NET 5 中已弃用。 否则,提供程序大多使用 JSON 来与可视化工具通信。 (继承自 IVisualizerObjectProvider) |
IsObjectReplaceable |
指定是否可以创建替换对象。 也就是说,确定要可视化的数据对象是可替换的 (读/写) 还是不可替换的 (只读) 。 (继承自 IVisualizerObjectProvider) |
方法
Deserialize(Stream) |
已过时.
旧版可视化工具使用的旧帮助程序方法使编写反序列化代码更容易。 它使用默认二进制序列化从流中读取给定对象。 但是,由于其用法存在安全漏洞,因此不应再使用它,并且会引发较新版本的 .NET(如 ASP.NET Core 5.0)。 如果在支持二进制序列化的目标应用上调用,在 方法完成流读取后,我们将返回基础对象。 |
GetData() |
获取有关正在调试的对象的初始数据 Blob。 数据将写入提供的 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) |
将数据双向传输到 VisualizerObjectSource 上的 TransferData 方法 (继承自 IVisualizerObjectProvider) |
TransferDeserializableObject(Object) |
使用 作为 IDeserializableObject 序列化传出对象,然后调用 TransferData。 返回时,将反序列化传入的数据,并返回在 IDeserializableObject 中包装的对象。 |
TransferObject(Object) |
已过时.
使用默认序列化序列化传出对象,然后调用 TransferData。 返回时反序列化传入的数据并返回反序列化的对象 (继承自 IVisualizerObjectProvider) |