C# · 12月 23, 2021

c# – 为什么用匿名委托声明此事件?

我见过人们定义他们的事件是这样的: public event EventHandler<EventArgs> MyEvent = delegate{};

有人可以解释一下如果没有它,这与定义它有何不同?是否要在提升事件时避免检查null?

解决方法 你明白了 – 添加空委托让你避免这种情况: public void DoSomething() { if (MyEvent != null) // Unnecessary! MyEvent(this,”foo”); }