IVisualizerObjectProvider 接口

定义

将调试对象中的对象数据提供给可视化工具。

public interface class IVisualizerObjectProvider
public interface class IVisualizerObjectProvider
__interface IVisualizerObjectProvider
public interface IVisualizerObjectProvider
type IVisualizerObjectProvider = interface
Public Interface IVisualizerObjectProvider
派生

示例

public class DebuggerSide : DialogDebuggerVisualizer  
{  
    override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
    {
         MessageBox.Show(objectProvider.GetObject<object>().ToString());
    }
    // . . . Other methods omitted for clarity.  
}

注解

可视化工具是 Visual Studio 调试器用来显示 (以有意义的方式 可视化) 特定数据类型对象的小型程序。 为了可视化对象,可视化工具使用调试器进程 (调试器端 (运行的代码,并使用调试 器端) ) (调试过程中运行的代码。

调试器端和调试程序端通过使用 VisualizerObjectSourceIVisualizerObjectProvider相互通信。

调试对象端使用 VisualizerObjectSource 为调试器端指定 VisualizerObjectSource 对象。 调试器端通过调用接口上 IVisualizerObjectProvider 的方法来请求并接收此信息。

可视化工具可以编辑和显示数据。 如果可视化工具支持编辑数据,则必须通过使用 TransferData(Stream)TransferObject(Object)或 调用ReplaceData(Stream)ReplaceObject(Object)将数据传输回调试对象来完全替换数据。 如果要将数据保存回来,还需要创建自己的对象源。

属性

IsBinaryFormatterSupported

指定调试对象是否支持 BinaryFormatter,因为它在 .NET 5 中已弃用。 否则,提供程序大多使用 JSON 来与可视化工具通信。

IsObjectReplaceable

指定是否可以创建替换对象。 也就是说,确定要可视化的数据对象是可替换的 (读/写) 还是不可替换的 (只读) 。

方法

GetData()

获取有关正在调试的对象的初始数据 Blob。 数据将写入提供的 MemoryStream 中。

GetObject()
已过时.

使用 GetData 获取数据,然后反序列化(假设已完成默认序列化)

ReplaceData(Stream)

基于给定的序列化数据创建 对象的替换副本。

ReplaceObject(Object)

使用默认序列化序列化对象,然后使用 ReplaceData 设置数据

TransferData(Stream)

将数据双向传输到 VisualizerObjectSource 上的 TransferData 方法

TransferObject(Object)
已过时.

使用默认序列化序列化传出对象,然后调用 TransferData。 返回时反序列化传入的数据并返回反序列化的对象

适用于