美文网首页
委托和事件

委托和事件

作者: fooliker | 来源:发表于2017-03-24 15:13 被阅读0次

委托

委托是一个类,它定义了方法的类型,使得方法可以当做另一种方法的参数传递,就是方法的参数是一个委托变量,在调用此方法时,就可以把一个方法作为参数传递给委托变量。

1.创建委托访问修饰符 delegate 返回值类型 委托名(参数列表); 没有大括号

2.委托赋值 委托名 委托变量 = 方法名; 没有大小括号这个方法的参数和返回值类型 必须要和委托类型一致。

3.使用委托委托变量(参数列表);静态方法和普通方法都可以绑定

4.多播委托给委托绑定多个方法(方法类型必须一致)  使用 += 解除使用  -=委托名 委托变量 = 方法1;委托变量 += 方法2;使用多播委托绑定无返回值的方法时,会把绑定的方法都执行一次。使用多播委托绑定有返回值的方法是,也会将方法都执行一次,但是会覆盖第一个方法执行的结果,返回最后绑定方法的结果。

5.内置委托Action无返回值的委托 表示委托类型的参数类型是 T,T1....Func有返回值的委托 表示委托类型的参数类型是 T,T1,T2... 返回值类型是P

6.ref out 关键字

这些不能用在内置委托中,必须放在自定义的一般委托中

7.匿名方法

委托类型 委托变量 = delegate(参数列表){ 方法体; 有返回值要return; };

后面一定要加分号,因为这是一个赋值语句

8.Lambda表达式

委托类型 委托变量 = (参数列表)=> { 方法体; 有返回值要return; };

后面一定要加分号,因为这是一个赋值语句

事件

在创建委托变量的时候用event修饰 那么就是一个事件

委托与事件的区别:

委托可以声明为类成员 也可以是局部变量

事件只能是类成员

事件在类的外部访问时只能出现在 += 注册 或者 - =注销的左边 不能像使用委托那样直接执行

事件必须在所在的类里面才可以执行

相关文章

  • 委托和事件

    区别: 委托是类型,事件是对象; 事件内部就是一个private的委托和add、remove两个方法; 委托可以在...

  • 委托和事件

    using System; using System.Collections.Generic; using Sys...

  • 委托和事件

    委托 委托是一个类,它定义了方法的类型,使得方法可以当做另一种方法的参数传递,就是方法的参数是一个委托变量,在调用...

  • jQuery事件委托和JS事件委托

    jQuery事件委托没得说,直接用on的方式在事件类型参数的后边加一个真正触发事件的对象即可,同时jQuery提供...

  • javascript事件委托和jquery事件委托

    元旦过后,新年第一篇。初衷:很多的面试都会涉及到事件委托,前前后后也看过好多博文,写的都很不错,写的各有千秋,自己...

  • 事件委托

    ------------------事件委托----------------- 事件: 事件委托: 原理: 冒泡 ...

  • 事件对象和事件委托

    事件对象事件发生的详细信息 在ie和chrome 事件详细信息保存到内置的 event对象中Event 对象代表事...

  • 事件冒泡和事件委托

    一、事件冒泡例1:html部分 js部分 解析:由代码结构可知,这是一个三层div嵌套结构,d1是d2的父级,d2...

  • 事件委托和事件对象

    事件委托((原理是事件冒泡)) 事件对象 在上面我们给事件处理函数一个参数e,他代表的就是事件对象,当事件发生时,...

  • DOM事件和事件委托

    捕获与冒泡 我们在点击 内容 这两个字的时候,都可以当做点击了one、two、three这三个(子元素被点击时也相...

网友评论

      本文标题:委托和事件

      本文链接:https://www.haomeiwen.com/subject/ymrfottx.html