调用委托(delegate)时,您始终必须检查它是否不为空。这是一个经常导致错误的原因。 由于委托(delegate)或多或少只是一个函数列表,我认为委托(delegate)本身可以很容易地检查到这一点。
有谁知道,为什么要按原样实现?
最佳答案
这可能是显而易见的,但您可以将事件声明为指向无操作处理程序,然后在调用时无需检查是否为 null。
public event EventHandler MyEvent = delegate { };
然后您可以调用 MyEvent
指向的处理程序,而无需检查是否为 null。
关于c# - 为什么委托(delegate)不处理事件 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3966248/