Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何快速找到接口方法的实现?_C#_Visual Studio_Intellisense_Interface Implementation - Fatal编程技术网

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

C# 如何快速找到接口方法的实现?,c#,visual-studio,intellisense,interface-implementation,C#,Visual Studio,Intellisense,Interface Implementation,有没有一种快速的方法可以找到接口的方法/属性等的所有实现,而不是引用?下面是一些示例代码: public class SomeClass : IBaseClass { public Int32 GetInt() { return 1; } } public interface IBaseClass { public Int32 GetInt(); } public class SomeOtherClass { IBaseClass _someClass; p

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

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方法的类


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

Alt End将在ReSharper中实现这一点,我相信。

R在弹出菜单上有一个Go to Implementation选项,这非常方便

如果不使用ReSharper,最好的方法是:

在文件中查找Ctrl+Shift+F 查找内容:类*类 查找选项:使用通配符


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

您可以尝试使用此插件:


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

将光标移到方法上 键入ctrl+k clrl+t打开“调用层次结构”窗口 下移到Implements节点。 键入Return转到所选实现 看来,这是找到方法实现的最快方法,而无需重新精简


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

如果您的接口与您通常要导航到的具体模型位于同一个库中,您可以向具体对象添加“使用别名”不管怎样,Usings是助手,这很有帮助

using System;
using PrimaryImplementation = YourNamespace.YourConcreteObject;


public interface IYourInterface{

}


当您接触到接口时,您就有了一种快速而肮脏的方法来获得接口的主要实现。F12->F12

哎哟,每个开发者349美元。这就是我们为VS2008 Pro支付的费用。你没有要求RESARPER的销售额度,你赚的钱与我们无关,但是考虑你正在做的是什么样的钱,然后考虑你能迅速收回许可费。如果数字正确,350美元是值得的。为了让大家了解一些情况,我会说,在我花了一个月的时间学习ReSharper的细节之后,可以肯定的是,在我工作的时候,我仍然在学习其中的一些东西,这个工具将我作为代码作者的工作效率提高了30%,坦白说,至少可能更高,但我不想夸大。我同意,任何一家对resharpers价格犹豫不决的公司——仅C版更便宜——都是白痴,因为你浪费的时间不花公司1000美元。我也同意兰斯的观点,重新竖琴的成本很容易在一个月内收回。我过去也用过一些。虽然我发现它对我不经常做的重构很有用,但我并没有发现它让我的工作效率提高很多。我承认我没有花太多时间去了解细节,但是当我们与VS.NET的唯一问题是寻找实现的接口时,我很难证明我的花费是合理的。同意!我不在乎你赚了多少钱-你必须大量使用Go to Implementation功能才能从该功能中收回许可费!:听起来不错,在VS中你什么都不知道?除了找到你已经提到的参考文献。如果你不知道,我真的鼓励你去看看。除了像这样的特性之外,它还有有用的编码技巧和一组真正强大的重构特性。R不是一种完全不同的编程语言吗,或者也有一个R IDE?我们正在构建一个ASP.NET MVC应用程序…R是Resharper。Visual Studio的插件。它添加了一堆有用的命令。啊!我刚在谷歌上搜索了一下R,就想到了这个。很明显,我不喜欢lingo=你需要VS2010,对吗?@Arialdo Martini:绝对完美!我认为你不需要第二个Ctrl键。i、 e Ctrl-K,T应仅用于澄清;要查看“Implements”节点,需要从界面中的成员定义调用调用层次结构。在VS for Mac中如何?此插件用于CodeRush,似乎免费版本的CodeRush已停止。CodeRush Xpress似乎非常活跃CodeRush Xpress不支持VS2013链接不可用使用Shift+F12显示所有引用,包括定义。在类中,我们通常以“I”而不是类开始接口。。。但那只是我们