c#委托和事件

  • A+
所属分类:.NET技术
摘要

委托就是把一个函数封装成对象,强化了c#的面向对象特性, 用法还在摸索 

委托就是把一个函数封装成对象,强化了c#的面向对象特性, 用法还在摸索

 

  事件是委托的特殊拓展,事件的使用主要包括:

  1.被委托者的创建
    public  delegate  void  XXEventHandler(Parameter A,~);      //多播时返回只能是void,且使用该被委托者时 3,5中的参数必须保持一致

  2.定义事件                  
    public  event  XXEventHandler XXEvent;

  3.被委托者服务(自定义方法)的实现               //即事件发生时,需要被委托者做什么事情
    void Serve(Parameter A,~){~}

  4.委托服务的订阅(事件关联)
    触发者.XXEvent += new XXEventHandler(Serve);        //参数可以是静态方法也可以是某个实例的自有方法,在这一步我们定义的方法已经被封装

                                 //事件一般定义在触发者的类里,比如按钮被点击这个事件, 点击事件就被定义在Button类里

  5.事件触发
    触发者.XXEvent(paraA,~);

 

     这样在事件被触发时,被委托者就可以执行我们订阅的服务