“b”和“b”有什么区别?Click += new RoutedEventHandler (ButtonClick)&q
本文关键字:RoutedEventHandler ButtonClick new Click 什么 区别 | 更新日期: 2023-09-27 18:18:55
在c#中,当注册事件处理程序时,您有两个选项(btn
的类型为System.Windows.Controls.Button
):
btn.Click += new RoutedEventHandler (ButtonClick)
和
btn.Click += ButtonClick
.
它们之间的语义差异及其含义是什么?
第一个版本可以在所有版本的。net上编译而没有错误。
第二个版本只能在。net 2或更高版本上编译。
这就是仅的区别。第二个版本只是在。net 2中引入了一些语法糖。
它被称为方法组转换。详情请看这里:
http://mike-ward.net/blog/post/00020/anonymous-methods-method-group-conversions-and-eventhandler根据我的理解,什么都没有,编译器会推断委托类型并自动为您包装它,这只是一种快捷的方式(因为谁真的想把它全部打出来呢)
无差异。要理解这些c#特性,你应该阅读c# delegate和event关键字。