我刚刚意识到我可以通过两种方式添加事件处理程序:
考虑这样一个事件处理程序:
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/