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的。

       

  • 相关阅读:
    js相关小实例——大图轮播
    js相关小实例——div实现下拉菜单
    js相关小实例——二级菜单
    html5部分相关
    CSS3常用属性(边框、背景、文本效果、2D转换、3D转换、过渡、有过渡效果大图轮播、动画)
    数据访问
    php测试
    单例模式
    Doc
    横竖列表 下拉隐藏显示
  • 原文地址:https://www.cnblogs.com/benhua/p/5801733.html
Copyright © 2011-2022 走看看