Пользовательский тип визуализатора 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"
Это будет работать