Инструмент для отображения иерархий классов в .NET - PullRequest
12 голосов
/ 21 декабря 2008

Есть ли способ / инструмент, который мог бы показать мне все классы / интерфейсы, которые реализуют определенный интерфейс в моем проекте? В Eclipse (Java) я бы использовал опцию контекстного меню «Открыть иерархию типов», которая показала бы мне (симпатичное) дерево типов, расширяющих выбранный тип. Есть ли инструмент для такой же работы в .NET?

Ответы [ 7 ]

10 голосов
/ 21 декабря 2008

Я второй совет Марка о .NET Reflector - и хотел бы добавить, что существует внушительная серия надстроек, доступных на CodePlex .

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

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

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

4 голосов
/ 21 декабря 2008

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

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

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

1 голос
/ 28 июня 2013

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

enter image description here

1 голос
/ 21 декабря 2008

Отражатель сделает это (и бесплатно). Найдите интерфейс и разверните узел «Производные типы» в дереве.

В качестве альтернативы элемент проекта «Диаграмма классов» в Visual Studio должен это делать, но мне нравится чистая природа Reflector.

0 голосов
/ 07 февраля 2018

Так как я искал то же самое в 2018 году:

Начиная с Visual Studio 2015, вы можете просто установить Type Hierarchy Viewer из Marketplace . Это действительно не так красиво, как его коллега по затмению, но делает работу хорошо и бесплатно.

0 голосов
/ 08 декабря 2010

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

...