我想知道
之间有什么区别button.Click += new RoutedEventHandler(button_Click);
和
button.Click += button_Click;
我已经看过两个并且通常使用第二个版本,但我想知道差异是什么以及何时使用其中一个。
答案 0 :(得分:5)
没有区别,除了第一个在C#1中有效而第二个不在。
另一方面,只是RHS表达式的区别。例如:
Delegate valid = new RoutedEventHandler(button_Click);
Delegate invalid = button_Click;
在后一种情况下,编译器不知道您要将方法组转换为哪个委托,因此您将遇到编译时失败。