Пользовательский тип визуализатора Visual Studio для пользовательских классов и коллекций

Я написал один пользовательский визуализатор для visual studio, который работает с классом (определяется пользователем) и коллекцией (generics).

Но его теперь показывает в приложении. Я поставил 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 но это также не работает, даже не в списке..

пожалуйста предложите...

1 ответ

Вы не можете указать тип цели как Target = typeof(System.Object) в вашем коде. Поскольку объект типа "Объект" и "Массив" не может быть визуализирован.

Из MSDN:вы можете написать собственный визуализатор для объекта любого управляемого класса, кроме Object или Array. Ссылка: [ http://msdn.microsoft.com/en-us/library/e2zc529c.aspx] [1]

Для списков /IEnumerable:

Укажите цель как Target = typeof(List<>) или же Target = typeof(ObservableCollection<>)

Для класса UserDefined:

Укажите цель как Target = typeof(MyClass)

или же

заменить цель на TargetTypeName = "MyNamespace.MyClass, MyNamespace"

Это будет работать

Другие вопросы по тегам