我可以在Visual Studio中自定义自动事件处理程序生成吗?

时间:2010-12-17 14:48:19

标签: c# visual-studio events code-completion

当您在代码中订阅事件时,Visual Studio会在+=之后自动完成代码并生成相应的事件处理程序:

button.Click += new EventHandler(button_Click);
//              ↑_____auto generated code_____↑

注意它是如何显式创建委托实例的:即使方法组可以自C#2隐式转换为委托,但在VS2010中IDE行为仍然没有改变。

所以我想知道,有没有办法生成这样的代码呢?

button.Click += button_Click;

EDIT
只是为了让每个人都清楚:上面的代码在设计器文件中是而不是(如果是这种情况,我不会关心使用哪种语法)。这是在事件名称后键入+=并按 TAB

时触发的代码段

EDIT2
我将此报告为suggestion on Connect,如果您还希望更改当前行为,则可以对其进行投票

3 个答案:

答案 0 :(得分:2)

suggestion on Connect已标记为已修复,因此新行为应包含在VS11的下一个公共版本中。

编辑:刚刚检查过,它确实包含在测试版中。

答案 1 :(得分:1)

感谢您澄清您的问题。遗憾的是,没有办法配置或自定义由C#语言服务生成的事件连接代码。更糟糕的是,Generate Method Stub功能对事件连接也不起作用 - 虽然它应该,并且已经为Visual Studio的下一个版本修复了。

很抱歉,此特定功能没有更好的故事。 : - (

答案 2 :(得分:0)

我在Visual Studio中使用this扩展了几年。