我想知道在删除处理程序之前
OnEvent-=处理程序;
我们是否需要确定处理程序是否为null。当handler为null时,是否会有不良影响?
最佳答案
不,如果handler
为null,则为无操作...或者至少是对 Delegate.Remove
的简单调用,该文件具有以下文档:
现在,一个实际事件仅具有有效的“删除”方法...,它可以做任何它想做的事情。但是,这将是一个执行不佳的事件,但在传递null处理程序时会产生不良影响,因为null有效地表示委托(delegate)术语中的“空调用列表”。
关于c# - 从事件中删除null处理程序有副作用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4968047/