什么是事件不多讲了,直入主题让我们来看看事件中的两个角色:
一:事件发行者(Publisher):一个事件发行者,也称作发送者(sender),其实就是一个对象,这个
对象会自行维护本身的状态信息。当本身状态信息变动时,便会触发一个事件,并通知所有的事件
订阅者。
二:事件订阅者(subscriber):对事件感兴趣的对象,也叫做接受者(receiver),可以注册感兴趣的
事件,通常需提供一个事件处理程序,在事件发行者触发一个事件后,会自动执行这段代码的内容
下面通过讲故事来理解事件
订阅者到出版社订阅报刊,报刊一旦发行就会送到订阅者手中。
在这个故事中,图书的出版就是事件,出版局就是事件的发行者,订户是事件的订阅者。
1
using System;
2
using System.Collections.Generic;
3
4
namespace evnt
5
2
3
4
5
故事2:张三订阅《生活》杂志和李四订阅《生活》《电脑》2本杂志,一年后由于经济危机李四退订了《电脑》杂志
首先我们定义事件发行者(Publisher)
1
class Publisher //出版社
2
}
2
这里面有两个触发事件的方法issuComputer和issuLife;
接着定义事件的订阅者(接受者)
1
class Subscriber //订阅者
2
}
2
Receive方法通过委托方式,在事件触发时自动执行
最后我们就可以演义出版商(publisher)和订户(subcriber)之间的故事(story)了
1
class Story //故事发生在订阅者和出版社之间
2
}
2