当我在查看在接口上调用的方法时,如何转到实现该方法的代码?

时间:2011-05-18 11:40:47

标签: visual-studio visual-studio-2010

我们有很多代码,如:

IPerson
{
    Eat();
}

Persion : IPerson
{
}

IPerson p;
p.Eat();

由于我们的大多数接口只有1或2个类来实现它们,因此我应该有一种方法可以右键单击“p.Eat()”并将其转到人员类的代码中。当有多个实施者时,我希望看到一个可供选择的清单。

4 个答案:

答案 0 :(得分:2)

Visual Studio 2010中有一项新功能,名为查看调用层次结构(Ctrl + K,Ctrl + T)。

右键单击代码中的符号(方法名称或属性很好)并选择“查看调用层次结构”,您将看到一个包含各种选项的新窗口。在接口成员上,您将看到“Implements [member]”选项,将其删除将显示已实现接口成员的所有实例。

虚拟/抽象成员会出现类似的选项,显示它们被覆盖或实施的位置。

作为额外奖励,此窗口还会显示“致电[会员]”和“来自[会员]的电话”。

答案 1 :(得分:1)

Resharper是一种非常有价值的重构工具,可以提供您描述的行为。

我目前右键单击界面文件中的方法名称,然后选择“转到实施”选项。

我假设这是一个Resharper功能而不仅仅是Visual Studio 2010纯粹是因为你没有意识到它。尝试右键单击并查看是否有选项。如果没有 - 我强烈建议使用这种功能的重构工具。

答案 2 :(得分:0)

编辑|查找和替换|查找符号将查找定义和参考。

答案 3 :(得分:0)

右键单击p.Eat()并选择“查找所有引用”。在“查找符号结果”窗口中,您可以找到该接口方法的所有实现。双击每个项目将在代码编辑器中显示引用。