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

OnEvent-=处理程序;

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

最佳答案

不,如果handler为null,则为无操作...或者至少是对 Delegate.Remove 的简单调用,该文件具有以下文档:



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

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

10-17 01:55