在.net设计开发过程中事件无疑是用的最多的,下面设计几个类来理解CLR事件工作机制:
应用场景:假设我设计一个送货上门的服务程序,当要送货时我将消息发送给送奶工或者邮递员等。
在构建应用程序时,我们先设计一个名为GoodsManager的类型负责发送消息,为GoodsManager类型定义一个对外提供名为NewGoods的事件。其它类型如"Milk"、“NewsPaper”可以订阅该事件。当GoodsManager接收到新的消息时,他将引发该事件,将消息分发给已订阅事件的对象。各个对象则以自己期望的方式来处理消息。
代码如下:
执行结果: