代理delegate到lamda的演化示例

Posted 森林之子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代理delegate到lamda的演化示例相关的知识,希望对你有一定的参考价值。

using System;

namespace ConsoleApp1
{
    public class Program
    {
        private delegate int Add(int a, int b);
        public static void Main(string[] args)
        {
            Add add1 = new Add(AddPlus);
            int z = add1(2, 6);
            Console.WriteLine(z);

            add1 = new Add(delegate (int a, int b) { return a + b; });
            z = add1(2, 6);
            Console.WriteLine(z);


            Func<int, int, int> add2 = new Func<int, int, int>(delegate (int a, int b) { return a + b; });
            Console.WriteLine(add2(1, 9));

            add2 = delegate (int a, int b) { return a + b; };
            Console.WriteLine(add2(18, 9));

            add2 = (int a, int b) => { return a + b; };
            Console.WriteLine(add2(15, 9));

            add2 = (a, b) => { return a + b; };
            Console.WriteLine(add2(15, 9));

            add2 = (a, b) => a + b;
            Console.WriteLine(add2(11, 9));


            Console.Read();
        }


        public static int AddPlus(int a, int b)
        {
            return a + b;
        }

        public static int Reduce(int a, int b)
        {
            return a - b;
        }

    }
}

 

以上是关于代理delegate到lamda的演化示例的主要内容,如果未能解决你的问题,请参考以下文章

Groovy闭包 Closure ( 闭包的 delegate 代理策略 | OWNER_FIRST | DELEGATE_FIRST | OWNER_ONLY | DELEGATE_ONLY )

Java深入浅出系列——深入剖析动态代理--从静态代理到动态代理的演化

block和delegate的选择

java8-从Lamda到方法引用和构造引用

iOS 关于修饰代理用weak还是assign

(转载)虚幻引擎3--Unrealscript(US)虚幻脚本代理Delegates