首页 > Windows开发 > 详细

C#自定义处理事件(作者还没完全理解事件和委托,所以有可能错漏百出)

时间:2015-01-23 19:52:04      阅读:271      评论:0      收藏:0      [点我收藏+]

1.C#的处理事件整个框架,其实就是观察者模式的一种应用

       观察者模式:老师监视学生考试,学生若作弊,老师立即打人

2.涉及的元素:

   所以必须涉及两个对象事件引发者(触发)--学生;事件处理者--老师

   同时涉及两个事件触发事件--作弊;处理事件--打人

 

3.学生类

     //其实Cheating就是一个委托,而委托就是一组函数的集合,函数类(汗!!委托 这名字起得太烂了)

     public event EventHandler Cheating;//这个事件是学生引发的,所以事件应该写在学生类里

  

     //触发事件

     public void Testing(){

           //...

           if(Cheating!=null)

                   Cheating(this,new EventArgs());//都说了,委托实质就是方法,委托的参数固定为两个:第一个问触发者object;第二个为参数EventArgs

    } 

 

4.老师类

       Student _student = new Student();//老师监视学生,所以把学生写成老师的成员变量,组合

 

       _student.Cheating += new EventHandler(SlapStudent);

 

      //处理事件当然得写在 监视者(观察者)里

      public void SlapStudent(object sender,EventArgs e){

            //给学生一个打耳光

      }

C#自定义处理事件(作者还没完全理解事件和委托,所以有可能错漏百出)

原文:http://www.cnblogs.com/tommy-huang/p/4244874.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!