有没有办法显示从接口实现某种方法的所有类。如果在方法调用中单击Visual Studio中的F12,则转到其定义。如果它是一个接口,那么你仍然需要去寻找这个类。我很高兴能够获得一个弹出窗口并选择一个实现该接口的类...这是否存在?
答案 0 :(得分:11)
没有安装任何Visual Studio扩展......
如果右键单击该方法并选择“查找所有引用”或按f12 + shift,将在“查找符号结果”中返回实现列表;按接口,类,方法调用排序。
<强>更新强>
安装VS 2015 ,右键单击 - GoToImplementation(如果您有一个接口实现,VS将直接导航到它,如果您有两个或更多,VS将列出它们)
答案 1 :(得分:7)
当然已经存在于Visual Studio中了!从那以后它就在那里。
右键单击您的代码(例如:属性)并选择“查看调用层次结构”。在Call Hierarchy窗口中,选择Implements文件夹。
你有。为何选择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属性(在类中或在接口内部的任何地方)并选择“View Call Hierarchy”,应该说哪个类实现了它,因此也就是整个接口。
一开始我们都喜欢Resharper,随着时间的推移,我们都讨厌它!
答案 2 :(得分:6)
您需要使用启用它的插件(或编写您自己的插件)。
ReSharper和Visual Assist具有此功能。
答案 3 :(得分:2)
我使用DevExpress / CodeRush Go To Implementator plugin(全部免费)。
如果你确实安装了DevExpress它不明显如何启动它,你应该使用 shift - ctrl - alt - o 键盘短,但我建议通过添加以下注册表项将其添加到文件菜单中:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Developer Express\CodeRush for VS\11.2]
"HideMenu"=dword:00000000
(如果您使用32位,则删除\Wow6432Node\
)
答案 4 :(得分:2)
另一种方法是将光标放在要调查的方法上,然后按ctrl +,(控制和逗号键) 这将显示导航到界面以及界面和方法实现。
答案 5 :(得分:1)
Reflector可以做到这一点(至少在已打开的程序集中)。
(显然,任何程序集中都可能有实现,因此完全搜索每个实现都需要检查每个程序集。)