“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 .

它们之间的语义差异及其含义是什么?

“b”和“b”有什么区别?Click += new RoutedEventHandler (ButtonClick)&q

第一个版本可以在所有版本的。net上编译而没有错误。

第二个版本只能在。net 2或更高版本上编译。

这就是的区别。第二个版本只是在。net 2中引入了一些语法糖。

它被称为方法组转换。详情请看这里:

http://mike-ward.net/blog/post/00020/anonymous-methods-method-group-conversions-and-eventhandler

根据我的理解,什么都没有,编译器会推断委托类型并自动为您包装它,这只是一种快捷的方式(因为谁真的想把它全部打出来呢)

无差异。要理解这些c#特性,你应该阅读c# delegateevent关键字。

相关文章:
  • 没有找到相关文章