Как найти, какой класс (ы) реализует интерфейс (.Net) - PullRequest
2 голосов
/ 30 мая 2009

Наиболее близким к этому вопросу я смог найти этот: Получение всех типов, реализующих интерфейс

Но это для использования в коде, и для его использования мне придется изменить код, перекомпилировать и запустить. Мне было интересно, есть ли для меня более простой способ поиска всех классов, которые реализуют определенный интерфейс.

Я, кажется, сталкиваюсь с вопросом достаточно часто, поэтому я ищу какой-то более простой / более общий способ найти мой ответ. Совсем недавно я хотел выяснить, какие классы я мог бы использовать для реализации ISet, для меня не имело значения, какой класс просто нужен для создания экземпляра.

Так что мне было интересно, есть ли способ просто найти все классы, которые реализуют данный интерфейс?

Спасибо, Джефф

Ответы [ 2 ]

5 голосов
/ 30 мая 2009

Используя ReSharper , щелкните правой кнопкой мыши по интерфейсу, перейдите к реализации, выберите тот, который вы хотите видеть из списка, который он заполняет.

Я не думаю, что есть способ сделать это программно, но если вы просто имеете в виду в IDE, это самый простой способ сделать это.

1 голос
/ 30 мая 2009

Нет, нет более легкого пути. Я думаю, что это довольно легко сделать. Это всего три строчки. Вы можете кэшировать результаты в виде списка или словаря (на случай, если вы хотите протестировать его для набора интерфейсов), если вам нужно делать это много раз подряд.

Если вам нужен только инструмент, Отражатель делает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...