我有一个班级:
Class MyClass
{
public MyClass { ... }
public string Name { get { ... } }
public int IdNumber { get { ... } set { ... } }
public void GenerateNme {...}
}
这只是一个示例课程。我希望从中生成Interface。就像,MyClass正在实现IMyClass接口。我希望输出
public Interface IMyClass
{
string Name { get; }
int IdNumber { get; set; }
void GenerateNumber();
}
和
MyClass : IMyClass
{
}
它可以手动完成,但我只是很想知道,有没有其他简单的方法来完成这个?如果不清楚,请发表评论。
感谢。
答案 0 :(得分:100)
是的,您可以使用Visual Studio从类中提取接口:
在目标类文件中:右键单击> 重构> 提取界面...
示例强>
然后
答案 1 :(得分:36)
在Visual Studio 2015/2017/2019中,这位于“快速操作”菜单下( Ctrl + period 。)
请务必将光标放在要从中提取界面的类名中。否则它会显示"此处没有可用的快速操作"。
注意:只有在您实际可以提取界面时才可以这样做。例如,如果您的类只有静态方法,则无效。
答案 2 :(得分:12)
在Visual Studio 2010中,您可以右键单击MyClass
并选择Refactor
,`Extract Interface ...“( Ctrl + R , I )。这为您提供了一个检查要提取的成员的窗口。
答案 3 :(得分:3)
在Visual Studio 2015中,单击光标或右键单击类名,然后选择“快速操作”(或按 Ctrl - 。)和'提取界面'选项显示。
答案 4 :(得分:3)
在最新版本的Visual Studio(2019)中,菜单项已从接受的答案中重命名。现在如何进入界面弹出窗口的完整列表如下(仅较早版本中列出的第一个已更改):
右键单击课程名称,然后选择快速操作 和Refactorings ... 菜单选项(而不是早期版本中的Refactoring)。然后将出现另一个菜单,选择提取界面... 。
将光标放在类的名称上,然后按住 Ctrl 并按。然后选择提取界面... 菜单选项。
转到编辑菜单项,然后重构和提取界面(您无需为此操作将在您打开的班级上执行)
按住 Ctrl ,然后依次连续按 R 和 I (同样,该操作将在您拥有的班级上执行打开)
执行上述四个操作中的任何一个都会弹出提取界面窗口(与早期版本基本没有变化,尽管您可以选择将界面添加到当前文件中)
答案 5 :(得分:0)
在visual studio的重构菜单中,有一个“提取界面”选项,它完全符合您的描述。
答案 6 :(得分:0)
Ctrl + 。突然出现'生成覆盖...'并且没有发生任何事情,所以我在快速启动搜索框中搜索了'refactor'。结果有Edit -> Refactor -> Extract Interface
( Ctrl + R , Ctrl + I )选项。
希望,这个提示也可以帮助别人。我正在使用VS 2017 EE。
答案 7 :(得分:0)
请注意。如果您的班级中有一个“静态”。您将无法提取到界面。因此,请先将其删除,然后再提取到界面