Visual Studio 从现有类生成接口

flseospp  于 2023-01-14  发布在  其他
关注(0)|答案(8)|浏览(378)

我有一个类为:

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
{

}

它可以手动完成,但我只是好奇地想知道,有没有其他简单的方法来完成这一点?如果不清楚,请留下评论。
谢谢。

f2uvfpb9

f2uvfpb91#

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

示例

那么

dkqlctbz

dkqlctbz2#

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

t8e9dugd

t8e9dugd3#

在Visual Studio 2010中,您可以右键单击MyClass,然后选择Refactor、“提取接口...”(Ctrl+R,I)。这将显示一个窗口,用于检查要提取的成员。

kninwzqo

kninwzqo4#

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

  • 右键单击类名并选择Quick Actions and Refactorings...菜单选项(不是早期版本中的Refactoring)。然后会出现另一个菜单,选择Extract interface...

  • 将光标置于类名上,按住Ctrl键并按.,然后选择**Extract interface...**菜单选项。

  • 转到Edit菜单项,然后转到RefactorExtract Interface(您不需要为此选择类名,该操作将在您已打开的类上执行)

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

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

h7appiyu

h7appiyu5#

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

g52tjvyc

g52tjvyc6#

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

daolsyd0

daolsyd07#

在visual studio的重构菜单中有一个“提取接口”选项,它完全按照您的描述来做。

js4nwp54

js4nwp548#

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

相关问题