在Visual Studio中为接口中的所有已定义方法生成方法存根的快捷方式是什么?

时间:2015-03-30 15:39:46

标签: c# visual-studio-2010 visual-studio-2012 keyboard-shortcuts

我正在开发Visual Studio 2012(或2010)中的C#项目,该项目由我之前的许多人开发并为其添加功能。由于自上一个人工作以来需求发生了变化,我需要在接口中添加一个新方法,其中大约有15个具体类正在实现。所有实现都不同。

添加新方法签名后,我现在无法编译和运行项目,因为所有15个类都没有新添加方法的方法存根。以前我通过访问每个类,并从上下文菜单中选择实现所有方法,或使用快捷键来获取手动路径。

我过去做的事情:转到实现界面的类,单击菜单中的选项以生成所有方法存根,冲洗并重复。

我想知道的是什么:Visual Studio中是否有一个快捷方式会自动在目前已实现接口的每个具体类中插入所有方法存根?

我知道在创建实现接口的新类时很容易做到这一点,但这些类中已经有大量代码。顺便说一句,我也不愿意继承这门课程。

我想要实现的目标与This Eclipse SO question, that also has no answer

相似

到目前为止我发现的是快捷方式,仍然需要我打开15个类中的每一个并手动生成存根,这是我将不得不诉诸的如果不知道如何做到这一点:

Generate implementations of base class methods

Implement inherited methods

Shortcut key to implement interface

具体示例

//I have a ICar interface, which 15 concrete classes implement. 
//Now I add a 
getEngineHorsePower() 
//method signature in ICar, 
//is there a quick way to generate method stubs (that will 
throw new NotImplementedException() 
//when called) for all 15 classes?

(无法在不缩进的情况下发布问题)

2 个答案:

答案 0 :(得分:0)

我发现了这个免费扩展名:

Unit Test Generator

也许它可以帮助你,因为他们提到这个评论: "作为开发人员Doris,我可以针对多个框架生成单元测试存根,以便我可以利用我喜欢的任何框架。"

让我知道这是否适合你...

答案 1 :(得分:0)

据我所知,没有一种免费且简单的方法可以做到这一点,但可以通过使用ReSharper来实现,这是一种在30天后花钱的Jetbrains扩展程序。这是代码生成功能。因此,从Visual Studio 2012开始,它没有快捷方式或内置功能。