Visual Studio 从现有类生成“接口”

ut6juiuv  于 2023-05-23  发布在  其他
关注(0)|答案(8)|浏览(250)

我有一个类:

Class MyClass
{
   public MyClass { ... }
   public string Name { get { ... } }
   public int IdNumber { get { ... } set { ... } }
   public void GenerateNme {...}
}

这只是一个示例类。我希望从中生成一个 * 接口 *。例如,MyClass实现了IMyClass接口。我希望输出为

public Interface IMyClass
{
   string Name { get; }

   int IdNumber { get; set; }

   void GenerateNumber();
}

MyClass : IMyClass
{

}

它可以手动完成,但我只是好奇地想知道,是否有其他简单的方法来完成这一点?

disho6za

disho6za1#

是的,您可以使用Visual Studio从类中提取接口:
在目标类文件中:右键>重构>提取接口...

示例

然后

uyto3xhc

uyto3xhc2#

在Visual Studio 2015/2017/2019/2022中,这位于快速操作菜单下(Ctrl+句点)。
请确保将光标放在要从中提取接口的类名中的某个位置。否则,它会显示“此处没有可用的快速操作”。
注意:只有当你可以提取一个接口时,这才是可能的。例如,如果你的类只有静态方法,这将不起作用。

6jygbczu

6jygbczu3#

在Visual Studio 2010中,您可以右键单击MyClass并选择Refactor,“提取接口...”(Ctrl+R,I)。这将为您提供一个窗口来检查要提取的成员。

8oomwypt

8oomwypt4#

在最新版本的Visual Studio(2019和2022)中,菜单项已从接受的答案重命名。现在如何进入界面弹出窗口的完整列表如下(仅列出的第一个与早期版本相比发生了变化):

  • 右键单击类的名称,然后选择Quick Actions and Refactors...菜单选项(不是早期版本中的Refactors)。然后会出现另一个菜单,选择提取接口...

  • 将光标置于类的名称中,然后按住Ctrl键并按。然后选择**提取接口...**菜单选项。

  • 进入【编辑】菜单项,然后【重构】和【提取接口】(不需要选择类名,操作将在打开的类上执行)

  • 按住Ctrl键,然后连续按R和I键(操作将再次在您打开的类上执行)

执行上述四个操作中的任何一个都会弹出Extract Interface窗口(与早期版本相比,这基本上没有变化,但您可以选择将该接口添加到当前文件中)

ymdaylpp

ymdaylpp5#

在Visual Studio 2015中,单击光标或右键单击类名,然后选择快速操作(或按Ctrl-.),并显示“提取接口”选项。

zbsbpyhn

zbsbpyhn6#

请注意。如果你的类中有一个static,你将不能提取到接口,所以在提取到接口之前先删除它

72qzrwbm

72qzrwbm7#

Ctrl+.弹出“生成覆盖...”,除此之外什么也没有发生,所以我在快速启动搜索框中搜索“重构”。结果有Edit -> Refactor -> Extract Interface(Ctrl+R,Ctrl+I)选项。
希望这篇文章也能帮助到其他人。我用的是VS 2017 EE。

zbsbpyhn

zbsbpyhn8#

在Visual Studio的 * 重构 * 菜单中,有一个“提取接口”选项,它完全按照您所描述的方式执行。

相关问题