gpt4 book ai didi

visual-studio - 任何 ICollection 和 ICollection 类型的调试器可视化工具

转载 作者:行者123 更新时间:2023-12-04 06:27:12 26 4
gpt4 key购买 nike

我用网格创建了表单来可视化任何集合( ICollectionICollection<T> )对象。

之后我创建了调试器可视化类(从 Microsoft.VisualStudio.DebuggerVisualizers.DialogDebuggerVisualizer 继承)。

可视化器已正确安装(我在 System.Collections.ArrayList 类上尝试过)。

但是我在将可视化器推广到任何 ICollection 时遇到问题/ICollection<T>类型。

我指定了属性:

[assembly: DebuggerVisualizer( typeof( DebugerSide ), typeof( VisualizerObjectSource ), Target = typeof( System.Collections.Generic.ICollection<> ), Description = "Collection visualizer" )]
[assembly: DebuggerVisualizer( typeof( DebugerSide ), typeof( VisualizerObjectSource ), Target = typeof( System.Collections.ICollection ), Description = "Collection visualizer" )]

但是 VS 在调试中不提供可视化工具。

如果我指定了确切的类名,则可视化工具在 VS 中可用。有没有办法,如何实现我的意图或没有办法,如何实现?

谢谢!

最佳答案

我认为您已经偶然发现了与 outlined in this question. 相同的 Visualizers 架构限制。

解决方法是为 System.WeakReference 创建一个 Visualizer,然后在 Watch 窗口中键入“new WeakReference(myCollectionVariable)”,然后您就可以在弱引用上打开调试可视化器。在您的调试可视化器中,您可以使用反射来找出变量的确切类型,并使用它做任何您想做的事情。

另见 this .

关于visual-studio - 任何 ICollection 和 ICollection<T> 类型的调试器可视化工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6506819/

26 4 0