Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从事件中删除空处理程序有任何副作用吗?_C#_.net - Fatal编程技术网

C# 从事件中删除空处理程序有任何副作用吗?

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

在移除处理器之前,我想知道

OnEvent-=处理器


我们是否需要确定处理程序是否为空。当handler为null时,是否有任何不良影响?

否,如果
handler
为null,则为No-op。。。或者至少,如果是一个简单的调用,它包含以下文档:

如果值为null或在源的调用列表中找不到值的调用列表,则返回源


现在一个实际事件只有一个“删除”方法有效。。。这可以做任何它想做的事。这将是一个实现非常差的事件,当传递一个null处理程序时会产生不良影响,因为null在委托术语中实际上意味着“一个空的调用列表”。

不,这不是问题。这就像删除集合中不存在的项一样。什么也没发生。

尝试过,看起来没有明显的不良影响。但是我想和这里的专家确认一下。