在C#中,注册事件处理程序时,您有两个选项(btn的类型为System.Windows.Controls.Button):
btn.Click += new RoutedEventHandler (ButtonClick)和
btn.Click += ButtonClick。
它们之间的语义差异和它们的含义是什么?
发布于 2013-06-18 17:21:33
第一个版本可以在所有版本的.Net上正确编译。
第二个版本只能在.Net 2或更高版本上编译。
这是唯一的区别。第二个版本只是.Net 2引入的一些语法糖。
这就是所谓的方法组转换。详细信息请参见此处:
http://mike-ward.net/blog/post/00020/anonymous-methods-method-group-conversions-and-eventhandler
发布于 2013-06-18 17:12:33
据我所知,没有什么,编译器会自动推断委托类型并为您包装它,这只是一种简化的方法(因为谁真的想把它全部输入出来)。
发布于 2013-06-18 17:18:59
这是没有区别的。要了解这些事件功能,您应该阅读C# C# 和event关键字。
https://stackoverflow.com/questions/17164938
复制相似问题