我需要它吗?我一直都在使用它,但最近注意到ReSharper说要摆脱它。例如:
feedbackButton.Click += new RoutedEventHandler(OnFeedbackClick);
似乎减少到
feedbackButton.Click += OnFeedbackClick;
没有问题。
答案 0 :(得分:2)
这两个代码段都完全相同,或者实际上它们都是相同的。
在第一个示例中,您明确提供了一种委托类型,如果您使用的是1.1或2.0框架版本,则必须使用该类型。
但在第二个示例中,您让编译器在编译时中找到适当的委托类型,该类型称为type inferencing,仅适用于3.0框架版本。
答案 1 :(得分:0)
在C#1.0中,必须明确指定委托类型。在以后的版本中它变成可选的,因为编译器得到了代理的类型推断。