zoukankan      html  css  js  c++  java
  • 什么是委托?为什么要使用委托?什么是事件?

    1、什么是委托?

    首先声明一个委托: public delegate string IsLengthFive (string s);

    下面写几个方法:

    public  string DoWork(string a){};

    public  string DoSomeWork(string b){};

    public string DoNothing(string c){};

    委托是一个类型,它代表着签名相同的一类方法。所谓签名相同也就是方法的返回值相同,方法的参数列表相同。

    举例帮助理解(string name = "a"; 在这里string定义了name参数所能代表的值的类型,也就是name参数的类型。在上面例子中的委托IsLengthFive 代表着返回类型为string,参数是一个string类型的所有方法)

    2、委托的使用

    使用委托前要声明委托变量,首次声明委托变量有两种方式:

    a01:IsLengthFive  stringLength;

    stringLength = DoWork;  ///首次先给委托变量赋值

    stringLength += DoSomeWork; ///使用  += 方法给委托变量stringLength绑定方法

    stringLength += DoNothing;

    经过上面的操作此时的 stringLength 已经有三个方法可以进行调用了

    a02:IsLengthFive  stringLength = new IsLengthFive();

     stringLength += DoWork;  //首次直接绑定方法到变量上

    stringLength += DoSomeWork;

    stringLength += DoNothing;

    此时的stringLength也代表了三种方法,进行  -= 操作:stringLength -= DoNothing; ,将DoNothing方法解除绑定

    为什么要使用委托?

    使用委托可以将同类型的方法绑定到同一个变量上,当调用此变量时就可以一次调用绑定的方法,很方便。

    什么是事件?(属性对字段进行封装)

    事件是由 event 关键字修饰的委托————那么事件的本质就是一种委托

    声明一个事件就好比声明了一个进行了封装的委托类型的变量!

     匿名方法在委托中的使用

  • 相关阅读:
    poj 3176 三角数和最大问题 dp算法
    poj 2236 网络连接问题 并查集
    poj 3614 奶牛美容问题 优先队列
    得时无怠
    Android入门(一)
    javascript之apply和call
    写一份面试答卷
    拿来即用的loading效果
    关于回调的唠叨
    Nodejs Guides(四)
  • 原文地址:https://www.cnblogs.com/fllowerqq/p/8820719.html
Copyright © 2011-2022 走看看