gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 23:03:22 25 4
gpt4 key购买 nike

删除处理程序之前我想知道

OnEvent -= 处理程序;

我们是否需要确定处理程序是否为空。 handler为null时,有什么不好的影响吗?

最佳答案

不,如果 handler 为 null,则它是空操作...或者至少,如果它是对 Delegate.Remove 的简单调用,则它是空操作,其中包含的文档包括:

Returns source if value is null or if the invocation list of value is not found within the invocation list of source.

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

关于c# - 从事件中删除空处理程序有任何副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4968047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com