1

我已经为 Visual Studio 编写了一个自定义可视化工具,它适用于类(用户定义)和集合(泛型)。

但它现在显示在应用程序中。我已将 dll 放在适当的位置,这不是问题...

问题是它的类型定义。

我在可视化器类上放置了以下属性。

[assembly: System.Diagnostics.DebuggerVisualizer(
typeof(ObjectToI.WriteICodeFromObject),
typeof(VisualizerObjectSource),
Target = typeof(System.Object),**here i am not sure what to put as my visualizer will work for both user defined classes and generics collections.**
Description = "Object To I Code Visualizer")]

请建议我应该在目标类型中输入什么,因为我的可视化工具适用于用户定义的类和列表/IEnumerable。

我已经尝试过 System.Object 但这不起作用

我试过System.Collections.Generic.IList了,但那也行不通,甚至不在名单上..

请建议...

4

1 回答 1

2

您不能像Target = typeof(System.Object)在代码中那样指定目标类型。由于“对象”和“数组”类型的对象无法可视化。

来自 MSDN: 您可以为除ObjectArray之外的任何托管类的对象编写自定义可视化工具。 链接:[ http://msdn.microsoft.com/en-us/library/e2zc529c.aspx ][1]

对于列表/IEnumerable:

将目标指定为Target = typeof(List<>)Target = typeof(ObservableCollection<>)

对于用户定义类:

将目标指定为Target = typeof(MyClass)

或者

将目标替换为TargetTypeName = "MyNamespace.MyClass, MyNamespace"

这将起作用。

于 2013-06-11T12:25:39.780 回答