Есть ли способ/инструмент, который мог бы показать мне все классы/интерфейсы, которые реализуют определенный интерфейс в моем проекте? В Eclipse (Java) я бы использовал контекстное меню "Open Type Hierarchy", которое покажет мне (красивое) дерево типов, которые расширяют выбранный тип. Есть ли способ сделать то же самое в .NET?
Инструмент для отображения иерархии классов в .NET.
Ответ 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, чтобы отобразить окно свойств поиска.
Ответ 6
Я только что обнаружил, что возможность видеть производные классы доступна в С++ (в представлении класса), но не в С# в Visual Studio 2008. Вау.