我应该新建一个新代表还是只是将方法添加到事件中?

我不明白这两种变化之间的区别是什么。 每种方法的优缺点是什么?

1. a.MyEvent += new MyClass.MyEventDelegate(FireEvent); 2. a.MyEvent += FireEvent; 

第一个适用于所有版本的C#,而第二个仅适用于2.0及更高版本。 如果您需要使用C#1.0编译器编译代码,请使用第一个编译器; 否则,我会使用更简洁的版本。 在两种情况下生成的代码应该相同。

真的是语法糖,编译器会解释代码并为你创建代理。