我有一个类为:
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条答案
按热度按时间f2uvfpb91#
可以,您可以使用Visual Studio从类中提取接口:
在目标类文件中:右键单击〉重构〉提取接口...
示例
那么
dkqlctbz2#
在Visual Studio 2015/2017/2019/2022中,这位于快速操作菜单下(Ctrl+句点)。
确保把光标放在你想从中提取接口的类名的某个地方。否则它会显示“这里没有可用的快速操作”。
注意:只有当你可以提取一个接口时,这才是可能的。例如,如果你的类只有静态方法,这就不起作用了。
t8e9dugd3#
在Visual Studio 2010中,您可以右键单击
MyClass
,然后选择Refactor
、“提取接口...”(Ctrl+R,I)。这将显示一个窗口,用于检查要提取的成员。kninwzqo4#
在最新版本的Visual Studio(2019 & 2022)中,该菜单项已从已接受的答案中重命名。如何进入界面弹出窗口的完整列表如下(仅第一个列表与早期版本相比有所更改):
执行以上四个操作中的任何一个都将打开Extract Interface窗口(这与早期版本相比基本上没有变化,尽管您可以选择将接口添加到当前文件中)
h7appiyu5#
在Visual Studio 2015中,单击光标或右键单击类名,然后选择快速操作(或按Ctrl-.),“提取接口”选项将显示。
g52tjvyc6#
请注意,如果你的类中有一个
static
,你将不能提取到接口,所以在提取到接口之前先移除它daolsyd07#
在visual studio的重构菜单中有一个“提取接口”选项,它完全按照您的描述来做。
js4nwp548#
Ctrl+.弹出了“正在生成覆盖...”,除此之外什么也没有发生,所以我在快速启动搜索框中搜索了“重构”。结果有
Edit -> Refactor -> Extract Interface
(Ctrl+R,Ctrl+I)选项。希望这个小技巧也能帮助到其他人。我正在使用VS 2017 EE。