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

有没有一种快速的方法可以找到接口的方法/属性/等的所有实现,而不是引用?下面是一些示例代码:

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();
}
}

我想快点上课。GetInt ()在复习其他类的时候。TestMethod ().如果我右键单击 _ some Class。GetInt ()并单击“转到定义”,它带我到界面。如果我单击“查找所有引用”,我可能会看到所有用途的列表... ... 而不仅仅是实现 GetInt ()方法的类。

有更快的方法找到这个吗?其他开发者有什么建议吗?我们对大多数依赖项使用 D.I,这意味着通过深度嵌套代码进行跟踪需要 永远

42931 次浏览

我相信 Alt-End 在 ReSharper 能做到。

R # 在弹出菜单中有一个 Go to 實现选项,对于这个选项来说非常方便。

在没有 ReSharper 的情况下,实现这一目标的最佳方法是:

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

这将找到所有的实现,然后您可以在一个具体的实现中搜索您的函数。

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

  • 在方法上移动光标
  • 键入 Ctrl + k clrl + t打开“调用层次结构”窗口
  • 移动到“实现”节点。
  • 键入 Return 转到选定的实现

AFAIK 这是最快的方法来找到一个方法的实现,没有 ReSharper。

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

如果您的接口与您通常想要导航到的具体模型位于同一个库中,那么您可以向具体对象添加一个“ using alias”。“使用”无论如何都是有帮助的,这也有帮助。

using System;
using PrimaryImplementation = YourNamespace.YourConcreteObject;




public interface IYourInterface{


}

当您被带到接口时,您就有了一个快速(且肮脏)的方法来获得接口的主要实现。F12-> F12!