zoukankan      html  css  js  c++  java
  • lamda 表达式,匿名方法,委托

    1. lamda 表达式的类型并不是委托类型,但他可以显示或隐式的转换为一个委托实例;如下:

       Fun<string,int> StringLength=delegate(string text){return text.length;};用匿名方法定义委托实例;

       Fun<string,int>StringLength=(string text)=>{return text.length;};用lamda表达是定义委托实例;

      new Fun<string,int>(delegate(string text){return text.length;});

     new Fun<string,int>((string text)=>{return text.length;});

    2.委托:对一类方法引用的一种机制;创建一个委托实例就是创建一个方法的引用;如下:

        delegate int StringLengthDelegate(string);//声明委托类型;

       StringLengthDelegate delegateInstance=new StringLengthDelegate (Method);

    3.匿名方法: 创建一个方法体,不用指定方法名;只能在使用委托的时候创建,并且用关键字 delegate创建。

        button1.Click += delegate(object o, EventArgs e) { MessageBox.Show("Click!"); };

    4.匿名委托:

          button1.Click += new EventHandler(button1_click);

          也可写成:

        button1.Click += button1_click;

    方法直接赋值给委托,这就是匿名委托。编译时会自动加上new Eventhandler的。

       

  • 相关阅读:
    supper 关键字
    self 关键字
    Setter/Getter方法
    0013.HBase进阶
    0012.HBase基础
    0011.MapReduce编程案例2
    0010.MapReduce编程案例1
    0009.Mapreduce的高级功能
    0008.MapReduce基础
    0007.HDFS上传与下载的原理
  • 原文地址:https://www.cnblogs.com/benhua/p/5801733.html
Copyright © 2011-2022 走看看