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

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

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

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

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

 button.Click += button_Click; 

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


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

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

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

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

很抱歉,这个特殊function没有更好的故事。 🙁

我将这个扩展用于Visual Studio几年了。