委托和事件的区别 小结

来源:互联网 发布:我比想象中爱你js下载 编辑:程序博客网 时间:2024/05/16 17:58

事件和委托的区别:
1.事件的声明只是在委托前面加一个event关键词,虽然你可以定义一个public,但是有了event关键词后编译器始终会把这个委托声明为private,然后添加1组add,remove方法。add对应+=,remove对应-=。这样就导致事件只能用+=,-=来绑定方法或者取消绑定方法。而委托可以用=来赋值,当然委托也是可以用+=,-=来绑定方法的

       2.委托可以在外部被其他对象调用,而且可以有返回值(返回最后一个注册方法的返回值)。而事件不可以在外部调用,只能在声明事件的类内部被调用。


委托

  委托于引用相似引用指向特定的对象,而委托指向特定方法

    对象引用  --->  特定对象

    委托      --->  特定方法

 

  方法的标识:返回值类型,参数个数,参数类型

    用delegate声明委托,委托的声明与委托的方法的标识要一致

      public delegate int MyDelegate(int a, int b);   //委托的声明

      public int MyDelegateFunc(int a, int b);        //委托方法

 

    实例化一个委托

      MyDelegate arithMethod = new MyDelegate(MyDelegateFunc);    //实例化一个委托,委托方法为

 

    使用委托

      int sum = arithMethod(3, 4);

 

  *** 委托的声明要放在函数的外部(包括Main()函数)***

 

    委托同时也可以作为参数传递给其他函数,这样其他函数就可以通过委托来调用委托函数了

 

    多重委托

      arithMethod += new MyDelegate(Add);

      arithMethod += new MyDelegate(Subtract);

      arithMethod -= new MyDelegate(MyDelegateFunc);

      //多重委托的函数返回值必须是void类型的

 

事件

  事件的委托定义

  public delegate void EventDelegate(object sender, EventArgs s);

  //两个参数:事件的触发类,事件信息

 

  定义一个事件

  public event EventDelegate MyEvent; 

 

  事件处理方法

  public void OnMyEvent(object sender, EventArgs s);

  myEvent += new EventDelegate(OnMyEvent);

 

  触发事件

  myEvent(this, null);

 

  多重事件:与多重委托相同

 

  利用事件传递数据

    定义一个System.EventArgs类的子类

    public class MyEventArgs:EventArgs

   {

       private int myValue;

       public MyEventArgs(int myValue)

       {

           this.myValue = myValue;

       }

       public int MyValue

       {

           get { return myValue; }

       }

   }

   声明事件委托

    public delegate void EventDelegate(object sender, MyEventArgs e);

   定义事件

    public event EventDelegate myEvent;

    myEvent += new EventDelegate(OnMyEvent);

 

   定义事件处理函数OnMyEvent

    public void OnMyEvent(object sender, MyEventArgs e)

    {

    }

   

   触发事件

    myEvent(this, new MyEventArgs(10));

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 动漫女仆被绑起来狂捅漫画 弟弟在家侵犯姐漫画大全 撩起嫂嫂裙子顶上去中国电影 女生勿进进必湿gif 皇后被太子强玩 引起嫂嫂裙子顶上去 婶子的哪里又紧水又多 哥哥好凶猛太大要撑坏 老师让学生趴小内内 两个阿姨一起陪我睡觉 朋友妻子来我家洗澡你家茜 老师 主动脱下内内 浪妇杨雪小说全集 同学的妻子在线播放 韩国朋友妻子在线播放 朋友坐牢替他照顾妻子在线播放 比我老婆还要正在线播放 朋友的妻子20在线播放 寂寞的妻子手机在线 朋友出差替他照顾妻子在线播放 偷朋友妻子在线播放 搞兄弟母亲中文字在线播放 隔壁的日本妻子1中文字 年轻的母亲5d整部中文字 老师强入我体内 嫂嫂 的房门没关紧 共享妻子第3季 小石玩妻子第三部 朋友母亲的味道中文版 互换朋友妻子3换 母亲的朋友2集中文免费观看 领导出差他老婆留我过夜 厨房偷上朋友妻全文阅读答案 被老公朋友强入bd 和领导回家睡了他老婆 老公在偷吃别人我在家吃他老爹 送领导回家强睡他老婆 我在老公的眼皮底下偷吃 快递员在我家要了我 30岁军嫂身体好软 当着女朋友的面睡他朋友视频