Ответ 1
Вам нужно использовать плагин, который позволяет его (или писать самостоятельно).
ReSharper и Visual Assist имеют эту функцию.
Есть ли способ показать все классы, реализующие определенный метод из интерфейса. Если вы нажмете F12 в Visual Studio на вызов метода, перейдите к его определению. Если это интерфейс, вам все равно придется искать и искать класс. Мне было бы неплохо получить всплывающее окно и выбрать один из классов, который реализует интерфейс... Это существует?
Вам нужно использовать плагин, который позволяет его (или писать самостоятельно).
ReSharper и Visual Assist имеют эту функцию.
И без установки каких-либо расширений Visual Studio...
Если вы щелкните правой кнопкой мыши метод и выберите "найти все ссылки" или нажмите f12 + shift, список реализаций будет возвращен в результатах поиска Symbol; упорядочивается по интерфейсу, классу, вызову метода.
Обновление
Установите VS 2015, щелкните правой кнопкой мыши - GoToImplementation (если у вас есть одна реализация для интерфейса, VS будет перемещаться непосредственно к ней, если у вас есть два или более, VS будет их перечислять)
Конечно, уже существует в Visual Studio! Он существует с тех пор.
Щелкните правой кнопкой мыши на своем коде (Ex: property) и выберите "Просмотреть иерархию вызовов". В окне "Иерархия вызовов" выберите папку "Реализации".
Вот ты. Почему Resharper??? Разумеется, это не так сложно, как перейти к реализации из resharper, что позволяет проводить прямой опрос по интерфейсу, но достаточно всего свойства или метода из этого интерфейса. Пример:
public interface IModule
{
int Count { get; set; }
}
public class Module : Imodule
{
public int Count {get; set;}
}
public class Module2 : Imodule
{
public int Count {get; set;}
}
Щелкните правой кнопкой мыши свойство Count (в любом месте - внутри класса или внутри интерфейса) и выберите "Просмотреть иерархию вызовов", должен сказать, какой класс его реализует, и, следовательно, весь интерфейс.
В начале мы все любим Решара, со временем мы все ненавидим!
Я использую DevExpress/CodeRush плагин Go To Implementator (все бесплатно).
Если вы установите DevExpress, неясно, как его запустить, вы должны использовать клавиатуру shift - ctrl - alt - o, но я рекомендую добавить ее в меню файла добавив следующую запись реестра:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Developer Express\CodeRush for VS\11.2]
"HideMenu"=dword:00000000
(Оставьте \Wow6432Node\
, если вы на 32 бит)
Другой альтернативой является наведение курсора на метод, который вы хотите исследовать, затем нажмите ctrl +, (элемент управления и запятая) Появится диалоговое окно перехода к интерфейсу и реализации метода.
Reflector может сделать это (по крайней мере, через открытые сборки).
(Очевидно, что может быть реализация в любой сборке, поэтому для полного поиска каждой реализации потребуется проверить каждую сборку.)