微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在c#中需要部分方法?事件可以用来实现相同的目标吗?

我正在读书“Apress Pro LINQ:C#中的语言集成查询”,我发现了部分方法,但我真的不明白他们需要什么.

我认为书中的例子(改变之前和之后的属性)可以使用事件来实现.那么任何解释?

解决方法

是的,您可以使用部分方法实现与事件类似的效果.部分方法实际上只是让代码生成器(主要是设计者)为非生成代码生成钩子的一种方法.事件可以填补这个角色.

然而,对于事件的部分方法尤其有优势

>如果没有实现,则部分方法调用将从生成的IL中完全删除.这不能用事件来完成.>部分方法的设计是解决有1个提供者和1个消费者的问题.活动旨在为具有N个消费者的1个供应商建模,并具有这种设计带来的开销>没有订购的问题(谁先去).使用事件,您需要确保在设计者生成引发事件的代码之前运行事件的代码.如果说设计师生成一个构造函数,这并不总是可能的.部分方法没有这样的问题.

原文地址:https://www.jb51.cc/csharp/93423.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐