zoukankan      html  css  js  c++  java
  • C# 委托篇

    {
    //定义一个委托类型,如果传递的方法有参数此处必须声命,因为调用委托的时候将要用到
    delegate int AddDel(int a, int b);
    delegate int AddDel2(int a, int b);
    static void Main(string[] args)
    {
    #region 普通的委托
    ////调用静态方法
    //AddDel del = new AddDel(AddStaticFunc);  AddDel del=AddStaticFunc--这样写也可以
    //Console.WriteLine(del(1, 2));

    ////调用实例方法
    //AddDel2 del2 = new AddDel2(new Program().AddInstansFunc);
    //Console.WriteLine(del2(3, 4));

    //Console.ReadKey();
    #endregion

    #region 泛型委托
    //Func<int, int, int> func =AddStaticFunc; --注意委托指定方法的时候可以在new 委托(方法名)里指定 也可以直接如当前这种指定
    //凡是委托指定方法的地方都可以用lambda表达式,lambda语句,匿名方法
    //Func<int, int, int> func = new Func<int, int, int>((a, b) => a + b);----lambda 表达式
    //Func<int, int, int> func = new Func<int, int, int>(delegate(int a, int b) { return a + b; });---匿名方法
    Func<int, int, int> func = (int a, int b) => { return a + b; };// 注意在写lambda表达式的时候(){}可以省略的情况都是其里边只有一个变量或一个语句

    Console.WriteLine(func(1, 3));
    Console.ReadKey();
    #endregion

    }
    /// <summary>
    /// 静态方法
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns></returns>
    static int AddStaticFunc(int a, int b)
    {
    return a + b;
    }
    /// <summary>
    /// 实例方法
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns></returns>
    public int AddInstansFunc(int a, int b)
    {
    return a + b;
    }
    }

  • 相关阅读:
    [HTML5] document.hidden
    在vue页面中设置resize事件
    document之ES6解构
    vue中mixins的使用方法和注意点---mixins第二篇(异步请求的情况)
    vue中mixins的使用方法和注意点---mixins第一篇
    vue中路由重定向redirect
    如何理解dispatch( 'tagsView/delAllViews',null,{root:true} )里面的root:true
    vue计算属性computed中的get和set的使用
    splice(0)的奇妙用法
    4月5日学习日志
  • 原文地址:https://www.cnblogs.com/luwei-s/p/4541703.html
Copyright © 2011-2022 走看看