避免使用匿名空委托进行空检查:分析优点和缺点
向事件声明添加匿名空委托会引发有关其事件声明的问题潜在的缺点。虽然避免空检查的好处是显而易见的,但该习惯用法的全部含义仍不清楚。
该习惯用法已在各种在线论坛中进行了讨论,但深入研究潜在的缺点至关重要。人们担心它的广泛使用和潜在的维护问题。此外,空事件订阅者调用对性能的影响也是一个有效的考虑因素。
性能视角
与担忧相反,空事件订阅者调用不会产生性能惩罚。事实上,存在一种更有效的方法来解决空检查和性能问题。
扩展方法解决方案
扩展方法可以定义如下:
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中文网其他相关文章!