【发布时间】:2013-03-27 16:12:49
【问题描述】:
在浏览代码时,我经常会遇到这样的情况:
public class Fruity
{
private IOrange _Orange;
public Fruity()
{
_Orange = new Orange() as IOrange;
}
public void PrepareFruit()
{
return _Orange.Peel();
}
}
太好了,所以现在我想看看 Peel 方法是如何实现的。右键单击该方法可以让我转到定义,这会将我带到接口存根。
好的,严格来说,定义是由接口赋予的,因为私有变量是这样定义的,但是有什么方法可以直接去实现吗?
当然还有 Find All References,它是调用、接口和具体化的分散枪法。但是在这种情况下,实现的来源是显而易见的,所以我应该能够跳到我想的......
显然,有时可能会出现模棱两可的情况,这里对此进行了很好的描述:
Go to definition on concrete type
当然,当实现非常清晰时,应该有一个 Go To Implementation 选项。
【问题讨论】:
-
可能值得下载 ReSharper 的试用版,它具有“开始实施”和一堆其他东西,我不知道没有它我是如何运作的。我不知道如何在默认 IDE 中做同样的事情
-
一点都不清楚。不匹配的大括号表明您还没有发布整个班级
Fruity,那么我们怎么知道您没有将_Orange设置为new MangoPretendingToBeAnOrange()的成员函数? -
似乎与以下内容重复:stackoverflow.com/questions/4662784/… ?
-
我赞同使用
Resharper的想法。它非常有用。 -
没有 ReSharper,Visual Studio 是不完整的。当您使用 ReSharper 的 “Go to Implementation” 并且有多个实现时,它会提供一个快速选择列表。在这方面其他有用的命令是 “Find Usages” 或 “Inspect Hierarchies”
标签: c# visual-studio-2010 class interface