从接口生成类

时间:2014-08-29 09:53:17

标签: visual-studio resharper

假设我有一个新界面:

public interface IClientRepository 
{
    void Add(Customer customer);
    void Remove(Customer customer);
    Customer Get(long id);
}

现在我想做以下事情:

  • 创建一个具有良好默认名称的新班级(例如" ClientRepository");
  • 将该文件中的类作为接口代码文件的兄弟。

我想我已经看过Pluralsight视频的教师在很多场合都会这样做,但我似乎无法找到用于此的键盘快捷键。

我尝试了什么?良好:

  • Google Fu主要提供了一种相反的方法(提取界面),例如posts like this
  • 仔细阅读Ressharper的Refactorings文档以及Code Generation的文档。
  • 在接口声明中按 CTRL + SHIFT + r ,但似乎没有任何选项是我需要的。

我在这里缺少什么?如何从界面生成类?

3 个答案:

答案 0 :(得分:6)

  1. 将光标放在接口类型名称上,例如:

    public interface |IClientRepository 
    

    Alt + 输入,选择创建派生类型。这会在与ClientRepository相同的文件中创建一个名为IClientRepository的类。

  2. 现在将光标放在ClientRepository的类类型名称上,然后点击 Ctrl + R Ctrl + O 并选择移至另一个文件。它将默认为与类型名称匹配的文件名,并将其放在与其移动的文件相同的目录中。

答案 1 :(得分:0)

我不使用ReSharper,但我认为您必须声明您的类是从接口派生的,然后使用ReSharper来实现接口成员,如here所述。

您可以在与接口相同的文件中创建新类,然后使用一些“移动”重构来创建相应的文件。

答案 2 :(得分:0)

我认为Resharper没有这种可能性。但是你可以半手动完成。 在

所在的同一文件中键入以下内容
public class ClientRepository : IClientRepository {}

然后使用implement members命令。

然后在类

上使用refactor -> move to another file命令