C# 从事件中删除空处理程序有任何副作用吗?
在移除处理器之前,我想知道 OnEvent-=处理器C# 从事件中删除空处理程序有任何副作用吗?,c#,.net,C#,.net,在移除处理器之前,我想知道 OnEvent-=处理器 我们是否需要确定处理程序是否为空。当handler为null时,是否有任何不良影响?否,如果handler为null,则为No-op。。。或者至少,如果是一个简单的调用,它包含以下文档: 如果值为null或在源的调用列表中找不到值的调用列表,则返回源 现在一个实际事件只有一个“删除”方法有效。。。这可以做任何它想做的事。这将是一个实现非常差的事件,当传递一个null处理程序时会产生不良影响,因为null在委托术语中实际上意味着“一个空的调用列
我们是否需要确定处理程序是否为空。当handler为null时,是否有任何不良影响?否,如果
handler
为null,则为No-op。。。或者至少,如果是一个简单的调用,它包含以下文档:
如果值为null或在源的调用列表中找不到值的调用列表,则返回源
现在一个实际事件只有一个“删除”方法有效。。。这可以做任何它想做的事。这将是一个实现非常差的事件,当传递一个null处理程序时会产生不良影响,因为null在委托术语中实际上意味着“一个空的调用列表”。不,这不是问题。这就像删除集合中不存在的项一样。什么也没发生。尝试过,看起来没有明显的不良影响。但是我想和这里的专家确认一下。