首页 > 后端开发 > C++ > 您应该避免对匿名空委托进行空检查吗?

您应该避免对匿名空委托进行空检查吗?

Barbara Streisand
发布: 2024-12-31 09:18:13
原创
690 人浏览过

Should You Avoid Null Checks with Anonymous Empty Delegates?

避免使用匿名空委托进行空检查:分析优点和缺点

向事件声明添加匿名空委托会引发有关其事件声明的问题潜在的缺点。虽然避免空检查的好处是显而易见的,但该习惯用法的全部含义仍不清楚。

该习惯用法已在各种在线论坛中进行了讨论,但深入研究潜在的缺点至关重要。人们担心它的广泛使用和潜在的维护问题。此外,空事件订阅者调用对性能的影响也是一个有效的考虑因素。

性能视角

与担忧相反,空事件订阅者调用不会产生性能惩罚。事实上,存在一种更有效的方法来解决空检查和性能问题。

扩展方法解决方案

扩展方法可以定义如下:

public static void Raise(this EventHandler handler, object sender, EventArgs e)
{
    if(handler != null)
    {
        handler(sender, e);
    }
}
登录后复制

有了这个扩展,事件引发可以简化为:

// Works, even for null events.
MyButtonClick.Raise(this, EventArgs.Empty);
登录后复制

通过利用这种方法,空检查将成为过去,提供更干净、更高效的解决方案。

以上是您应该避免对匿名空委托进行空检查吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板