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

发布于 2024-10-08 18:29:37 字数 736 浏览 7 评论 0原文

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

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

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

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

button.Click += button_Click;

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


EDIT2
时触发的代码片段 我将此报告为 Connect 上的建议,如果您也希望更改当前行为,可以投票支持

When you subscribe to an event in code, Visual Studio automatically completes the code after += and generates the appropriate event handler:

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

Notice how it explicitly creates the delegate instance: even though method groups are implicitly convertible to delegates since C# 2, the IDE behavior still hasn't changed in VS2010.

So I'd like to know, is there a way to generate code like this instead?

button.Click += button_Click;

EDIT
just to make things clear to everyone: the code above is not in a designer file (I wouldn't care which syntax is used if it was the case). It's the snippet that is triggered when you type += after an event name and press TAB


EDIT2
I reported this as a suggestion on Connect, you can vote for it if you also want the current behavior to be changed

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

慢慢从新开始 2024-10-15 18:29:37

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

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

The suggestion on Connect has been marked as fixed, so the new behavior should be included in the next public build of VS11.

EDIT: just checked, it is indeed included in the beta.

暗藏城府 2024-10-15 18:29:37

感谢您澄清您的问题。遗憾的是,无法配置或自定义由 C# 语言服务生成的事件连接代码。更糟糕的是,“生成方法存根”功能也无法在事件连接上工作 - 尽管它应该可以工作,并且该问题已在 Visual Studio 的下一版本中修复。

抱歉,对于这个特定功能,没有更好的故事了。 :-(

Thanks for clarifying your question. Unfortunately, there isn't a way to configure or customize the event hookup code that is generated by the C# language service. To make matters worse, the Generate Method Stub feature won't work on an event hookup either -- though it should, and that is already fixed for the next release of Visual Studio.

Sorry that there isn't a better story for this particular feature. :-(

幸福不弃 2024-10-15 18:29:37

几年来,我一直在使用这个 Visual Studio 扩展。

I use this extension for Visual Studio since a couple of years.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文