当前位置:  开发笔记 > 编程语言 > 正文

有和没有"新"的布线事件之间的区别

如何解决《有和没有"新"的布线事件之间的区别》经验,为你挑选了1个好方法。

在C#中,这两行代码之间有什么区别(如果有的话)?

tmrMain.Elapsed += new ElapsedEventHandler(tmrMain_Tick);

tmrMain.Elapsed += tmrMain_Tick;

两者看起来完全相同.当你输入后者时,C#是否只是假设你是指前者?



1> Orion Edward..:

我这样做了

static void Hook1()
{
    someEvent += new EventHandler( Program_someEvent );
}

static void Hook2()
{
    someEvent += Program_someEvent;
}

然后在代码上运行ildasm.
生成的MSIL完全相同.

所以回答你的问题,是的,他们是一回事.
编译器只是推断你想要的someEvent += new EventHandler( Program_someEvent );
- 你可以EventHandler在MSIL中看到它在两种情况下创建新对象

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有