如何快速find接口方法的实现?

有一个快速的方法来find所有的接口的方法/属性/等的实现,而不是引用? 以下是一些示例代码:

public class SomeClass : IBaseClass { public Int32 GetInt() { return 1; } } public interface IBaseClass { public Int32 GetInt(); } public class SomeOtherClass { IBaseClass _someClass; private TestMethod() { _someClass = new SomeClass(); _someClass.GetInt(); } } 

我想在查看SomeOtherClass.TestMethod()时快速到达SomeClass.GetInt()。 如果我右键单击_someClass.GetInt()并单击“转到定义”,它将带我到界面。 如果单击“查找所有引用”,我可能会看到所有使用的列表…而不仅仅是实现GetInt()方法的类。

有没有更快的方法来find这个? 其他开发者的任何提示? 我们使用DI来处理大多数的依赖关系,这意味着通过深度嵌套代码的追踪需要永远

由于我不喜欢在编码时使用鼠标,我通常是这样的

  • 将光标移到方法上
  • 键入ctrl + k clrl + t打开Call Hierarchy窗口
  • 向下移动到“实现”节点。
  • 键入Return以转到选定的实现

AFAIK这是在没有ReSharper的情况下查找方法实现的最快捷方式。

(顺便说一句:您可以使用相同的系统从类方法实现移动到相应的接口声明:只需select根目录)

我相信,Alt-End会在ReSharper中做到这一点。

没有ReSharper最好的方法是:

查找文件(Ctrl + Shift + F)查找内容:“class * ISomeClass”查找选项:“使用通配符”

这将find所有的实现,并且可以在具体的实现中search你的函数。

R#在popup式菜单上有一个转到执行选项,这对于这个非常有用。

如果你的接口和你想要导航到的具体模型在同一个库中,你可以添加一个“using alias”给具体的对象。 无论如何,“使用”是帮手,这有助于。

 using System; using PrimaryImplementation = YourNamespace.YourConcreteObject; public interface IYourInterface{ } 

当你被带到界面时,你有一个快速(和肮脏)的方式来获得你的界面的主要实现。 F12-> F12!