关于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,我们在这里只需要定义不同的反应就可以响应多个函数了。

posted @ 2008-09-18 23:36  GrPro.Liu  阅读(302)  评论(0编辑  收藏  举报