Подтвердить что ты не робот

Инструмент для отображения иерархии классов в .NET.

Есть ли способ/инструмент, который мог бы показать мне все классы/интерфейсы, которые реализуют определенный интерфейс в моем проекте? В Eclipse (Java) я бы использовал контекстное меню "Open Type Hierarchy", которое покажет мне (красивое) дерево типов, которые расширяют выбранный тип. Есть ли способ сделать то же самое в .NET?

4b9b3361

Ответ 1

I вторая рекомендация Marc .NET Reflector - и хотела бы добавить, что есть внушительная серия надстроек, доступная в CodePlex.

Только некоторые из надстроек, которые я использую с регулярностью:

  • Deblector - эта надстройка позволяет отлаживать процессы из Reflector.
  • Graph - эта надстройка рисует графики зависимостей сборки и графики IL.
  • DependencyStructureMatrix - позволяет создавать и просматривать матрицы структуры зависимостей.
  • AutoDiagrammer - эта надстройка рисует диаграммы классов.
  • CodeModelViewer - эта надстройка показывает базовые объекты модели кода для выбранных элементов.

Ответ 2

Плагин визуальной студии Resharper также имеет функцию иерархии вида вида, а также множество других замечательных функций.

Ответ 3

В Visual Studio можно использовать Обозреватель объектов:

Обозреватель объектов позволяет выбирать и проверять символы, доступные для использования в проектах. Вы можете открыть обозреватель объектов в меню "Вид" или нажав кнопку "Обозреватель объектов" на главной панели инструментов.

На панели "Объекты" значки определяют иерархические структуры, такие как .NET Framework и COM-компоненты, пространства имен, библиотеки типов, интерфейсы, перечисления и классы. Вы можете расширить эти структуры, чтобы показать упорядоченные списки своих членов. Свойства, методы, события, переменные, константы и другие содержащиеся элементы перечислены на панели "Участники". Детали элемента, выбранного на панели "Объекты" или "Участники", отображаются на панели "Описание".

Ответ 4

Reflector будет делать это (и является бесплатным). Найдите интерфейс и разверните "Производные типы" node в дереве.

В качестве альтернативы, элемент проекта "Диаграмма классов" в Visual Studio должен это делать, но мне нравится чистый характер рефлектора.

Ответ 5

Я нашел эту функцию Resharper доступной для отображения только иерархии типов. Что-то близкое к тому, что предлагает eclipse (F4 - Иерархия открытого типа) Выберите родительский класс, затем щелкните правой кнопкой мыши на редакторе VS и выберите "find usages advanced" и установите флажок "производные типы" (или), нажав CTRL + ALT + SHIFT F12, чтобы отобразить окно свойств поиска.

enter image description here

Ответ 6

Я только что обнаружил, что возможность видеть производные классы доступна в С++ (в представлении класса), но не в С# в Visual Studio 2008. Вау.