我有一个类:
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
{
}
它可以手动完成,但我只是好奇地想知道,是否有其他简单的方法来完成这一点?
8条答案
按热度按时间disho6za1#
是的,您可以使用Visual Studio从类中提取接口:
在目标类文件中:右键>重构>提取接口...
示例
然后
uyto3xhc2#
在Visual Studio 2015/2017/2019/2022中,这位于快速操作菜单下(Ctrl+句点)。
请确保将光标放在要从中提取接口的类名中的某个位置。否则,它会显示“此处没有可用的快速操作”。
注意:只有当你可以提取一个接口时,这才是可能的。例如,如果你的类只有静态方法,这将不起作用。
6jygbczu3#
在Visual Studio 2010中,您可以右键单击
MyClass
并选择Refactor
,“提取接口...”(Ctrl+R,I)。这将为您提供一个窗口来检查要提取的成员。8oomwypt4#
在最新版本的Visual Studio(2019和2022)中,菜单项已从接受的答案重命名。现在如何进入界面弹出窗口的完整列表如下(仅列出的第一个与早期版本相比发生了变化):
执行上述四个操作中的任何一个都会弹出Extract Interface窗口(与早期版本相比,这基本上没有变化,但您可以选择将该接口添加到当前文件中)
ymdaylpp5#
在Visual Studio 2015中,单击光标或右键单击类名,然后选择快速操作(或按Ctrl-.),并显示“提取接口”选项。
zbsbpyhn6#
请注意。如果你的类中有一个
static
,你将不能提取到接口,所以在提取到接口之前先删除它72qzrwbm7#
Ctrl+.弹出“生成覆盖...”,除此之外什么也没有发生,所以我在快速启动搜索框中搜索“重构”。结果有
Edit -> Refactor -> Extract Interface
(Ctrl+R,Ctrl+I)选项。希望这篇文章也能帮助到其他人。我用的是VS 2017 EE。
zbsbpyhn8#
在Visual Studio的 * 重构 * 菜单中,有一个“提取接口”选项,它完全按照您所描述的方式执行。