c# - 我应该实例化一个新的委托(delegate)吗?

标签 c# .net delegates event-handling

我刚刚意识到我可以通过两种方式添加事件处理程序:

考虑这样一个事件处理程序:

private void MyEventHandler()
{}

方法一:实例化一个新的委托(delegate)

MyObject.MyEvent += new Action(MyEventHandler);

方法 2:添加事件处理程序而不实例化新委托(delegate)

MyObject.MyEvent += MyEventHandler;

这两种实现方式之间有什么区别需要考虑吗?

最佳答案

没有区别,生成的IL是一样的。较短的形式在 .net/c# 2.0 中作为一种便利功能引入,尽管 Visual Studio 仍然在 Tab Completion 上执行第一种形式。

参见 this question了解更多信息。

关于c# - 我应该实例化一个新的委托(delegate)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4676399/

相关文章:

ios - 无法将类型 'MyClass' 的值分配给类型 'MFMailComposeViewControllerDelegate!' 的值

c# - 有没有一种简单的方法来合并登录屏幕?

.net - 如何在可移植类库中创建线程?

c# - 如何识别核心.NET Framework程序集?

c# - 使用 .NET 连接到 iSeries DB2 数据库

swift - 无法转换类型 '(AccountViewController) -> () -> (AccountViewController)' 的值

swift 如何从第二个 vai 协议(protocol)和委托(delegate)模式中的逻辑更新第一个 Controller ?

c# - MEF、IOC 还是 Prism ?将 Silverlight 客户端开发到 RIA 服务的最佳方法

c# - 设计——按名称或对象删除?

c# - 如何将滚动条添加到网格