zoukankan      html  css  js  c++  java
  • 事件和代理

    事件和代理理解:

    理解事件和代理主要分为两个方面:事件发布者和事件订阅者。他们分别负责的事情为:

    一. 发布者:

    1.  发布事件(即定义事件,并声明类型和方法)

    2.  触发事件(即事件发布之后需要调用,对订阅者才有意义)

    代理声明方法:

      [public/private] delegate <返回值类型> <代理名称>(<参数列表>);
      
      [public/private]:访问修饰符。
       delegate:代理声明关键定,相当于类声明的Class关键定
       <返回值类型>:代理所指向的方法的返回值类型
       <代理名称>:代理类型的名称
       <参数列表>:代理所的指向的方法的参数列表。
      
       要想使代理对象能够指向一个方法,那这个方法的要满足两个条件
       a.方法返回类型要与delegate声明中的“返回值类型”一致。
       b.方法的形参形表要与delegate声明中的“参数列表”一致。
       如:
       定义代理public delegate void MyDelegate();
     定义事件:public event MyDelegate CloseMainWindowEvent; 
      

    二. 订阅者:

    1. 注册事件(只有注册后,才能有反馈)

    2.实现事件(即当发布者发布事件之后,订阅者收到消息所作的操作。)

       比如注册以上方法:

     定义实现事件:public void DoSomething();    //注意:实现事件应和定义代理方法类型参数一致
       注册事件:CloseMainWindowEvent +=new CloseMainWindowEvent(Dosomething);  //主意注册事件必须在定义事件中引用

  • 相关阅读:
    《闯关东》群英传
    这老太太
    URL重写与伪静态
    创建索引视图时提示架构绑定无效,名称必须由两部分构成
    马色见
    食神智多星
    Beautiful Code and Beautiful Software
    /wp64 Compiler Option
    C++的x64移植
    Managing the State Data of MFC Modules
  • 原文地址:https://www.cnblogs.com/Blackeye286/p/3414735.html
Copyright © 2011-2022 走看看