转到Visual Studio中的定义 - 接口

时间:2010-02-04 11:07:13

标签: visual-studio

有没有办法显示从接口实现某种方法的所有类。如果在方法调用中单击Visual Studio中的F12,则转到其定义。如果它是一个接口,那么你仍然需要去寻找这个类。我很高兴能够获得一个弹出窗口并选择一个实现该接口的类...这是否存在?

6 个答案:

答案 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)

您需要使用启用它的插件(或编写您自己的插件)。

ReSharperVisual 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可以做到这一点(至少在已打开的程序集中)。

(显然,任何程序集中都可能有实现,因此完全搜索每个实现都需要检查每个程序集。)