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

前端之家收集整理的这篇文章主要介绍了c# – 为什么用匿名委托声明此事件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我见过人们定义他们的事件是这样的:
public event EventHandler<EventArgs> MyEvent = delegate{};

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

解决方法

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

猜你在找的C#相关文章