C# 在当前类的游标下查找接口的实现

C# 在当前类的游标下查找接口的实现,c#,visual-studio,C#,Visual Studio,这个问题的不同版本似乎不能解决我的问题,F12/Ctrl-F12不是我想要的 当编辑实现在别处定义的接口的大型类时,我想跳转到文件中实现接口函数的所有位置: class VeryLargeClass : IInterfaceInOtherFile { // lots of code // ..... I want to jump here public FirstFunctionOfIInterfaceInOtherFile() {} // more code // .

这个问题的不同版本似乎不能解决我的问题,F12/Ctrl-F12不是我想要的

当编辑实现在别处定义的接口的大型类时,我想跳转到文件中实现接口函数的所有位置:

class VeryLargeClass : IInterfaceInOtherFile
{
  // lots of code

  // ..... I want to jump here
  public FirstFunctionOfIInterfaceInOtherFile() {}

  // more code

  // ..... then I want to jump here
  public SecondFunctionOfIInterfaceInOtherFile() {}
}
假设光标位于另一个文件
IInterfaceInOtherFile
上,我想查找当前文件中实现
IInterfaceInOtherFile
的所有位置

另一种选择是类视图中的显示模式,在该模式下,我可以查看类中的函数是实现的接口,是从基类重写还是特定于该类

这是否可能,可能是通过插件实现的?

在Visual Studio 2017(未在其他版本中测试)中,您可以按Ctrl-F12或右键单击接口名称并选择“转到实现”。如果有多个实现,您将得到一个可供选择的实现列表

对于接口的各个属性和方法,也存在相同的机制


请注意,从一个实现(或任何其他地方),您可以使用F12或通过上下文菜单“转到定义”。使用Alt-F12(或关联菜单)可以“查看定义”。从那里您可以转到实现。

您是否尝试过点击
F12
Ctrl+F12
?这些是
Go To Definition
Go To Implementation
shortcutsYes,请参见Olivier回答的注释。您得到关于F12/Ctrl+F12的答案/注释的原因是您询问在哪里实现了接口,而Ctrl+F12是执行此操作的命令。一般的“最佳实践”是每个文件有一个类,因此查找“当前文件中所有实现它的位置”可能会让人觉得有点奇怪。如果您确实在一个文件中有多个实现,那么查找实现的方法是突出显示接口名称,然后简单地按住Ctrl-F键并开始搜索……感谢您的澄清,我想我没有正确地问我的问题。假设文件MyClass.cs中有一个类MyClass,第二个文件中声明了一个接口MyInterface。现在我想在MyClass.cs中找到MyClass实现MyInterface函数的所有位置。@AndrewQueisser更新您的问题。评论可以在任何时候被删除,大多数人都不会阅读。是的,但我要找的是我正在编辑的当前类中的特定实现。它更复杂,因为它需要对当前类中实现接口的单个函数使用某种搜索机制。相同的导航函数适用于类型的成员。