关于event
最近在看关于c#的event的资料,初看非常的难懂,概念很不明确,断断续续的看了一些资料然后吧delegate自习的研究了下,总算是凑齐了基本要素。
event 主要有三步:
step one:定义一个事件 public delegate void StartEventHandle(string str)
public event StartEventHandle GetEvent;
step two:订阅一个事件,即你需要一个知道这个时间发生的方法
GetEvent + = new startEventHandle(Method)
step three: 事件发生后你需要去响应事件,这需要一个方法,其实这个在steptwo已经定义好,事件相应了需要发生什
么样的事情(即 method)
public Method (string str)
{
console.write("yes, I have got it"+str);
}
step four:你需要促使事情的发生
GetEvent("string");//就是我们定义好的事件名称加上事先定义的参数
当然一个事情发生了,相应的行为可以多种多样。比如老师在课堂上突然说要考试了,ok,此刻发生了一事件(我们必须清楚坐在课堂上的学生已经是订阅了事件,即我们在相应事件之前必须定义好事件。当学生们早上来上课,在教师等待老师来就是订阅了一个事件(*^__^*),然后老师说要考试了,事件发生了,因此每个学生都是订阅者他们有不同的反应,也就是不同的method,我们在这里只需要定义不同的反应就可以响应多个函数了。