ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 委托delegate

委托delegate

原创 Linux操作系统 作者:fangqm 时间:2011-03-18 15:23:02 0 删除 编辑
近似C++中的指针,它是事件与方法中间的桥梁
 
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
 
delegate1 += EnglishGreeting; // 这次用的是 “+=”,绑定语法,如果要取消绑定用“-=”
delegate1 += ChineseGreeting; // 给此委托变量再绑定一个方法
 
使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法。
 
1.匿名方法:没有名称的方法,也可以被委托调用,这是允许的
例://创建委托
          delegate void Del(int x);
          //匿名实例化委托
          Del d=delegate(int k){//代码块};
这样做,减少了实例委托所需编码系统开销。用途:如果创建方法是不必要的,在委托的位置放置代码块就很有用,举个例子:启动新线程
    void NewThread()
      {
              System.Threading.Thread t1=new System.Threading.Thread(delegate(){//代码块
     //这里放置要做的事  }
             );
       th1.Start();
      }
 
 
实例:我很忙,委托某人给我做事:定机票,写销售计划,招兵买马,送资料。。。。。。。。等一大堆的事
以控制台程序为例
 
 
public event wt shijian;
事件可以调用其它类中的方法

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23109131/viewspace-689871/,如需转载,请注明出处,否则将追究法律责任。

上一篇: DevExpress WEB换肤
请登录后发表评论 登录
全部评论

注册时间:2010-03-24

  • 博文量
    297
  • 访问量
    735502