Пример #1
0
        static void Main(string[] args)
        {
            MyDele <int> deleAdd = new MyDele <int>(Add);
            int          result1 = deleAdd(100, 200);

            Console.WriteLine("The result is {0}.", result1);
            Console.WriteLine(deleAdd.GetType());

            MyDele <double> deleMul = new MyDele <double>(Mul);

            double result2 = deleMul(300, 400);

            Console.WriteLine($"The result is {result2}.");
            Console.WriteLine(deleMul.GetType());
        }
Пример #2
0
        static void Main(string[] args)
        {
            //Console.WriteLine("Hello World!");
            //MyDele dele1 = new MyDele(M1);
            //dele1 += (new Student()).SayHello ;
            //dele1.Invoke();
            //dele1();
            MyDele dele = new MyDele(Add);
            int    res  = dele(100, 200);

            Console.WriteLine(res);

            MyDele <int>    deleAdd = new MyDele <int>(Add);
            int             result  = deleAdd(100, 200);
            MyDele <double> deleMul = new MyDele <double>(Mul);
            double          mulRes  = deleMul(3.0, 4.0);

            Console.WriteLine(mulRes);
            Console.WriteLine(deleAdd.GetType().IsClass);

            //Action<string,string > action = new Action<string,string> (SayHello);
            //action("Tim","Mike");
            Action <string, int> action = new Action <string, int>(SayHello);

            action("Tim", 3);

            Func <int, int, int> func = new Func <int, int, int>(Add);
            int res2 = func(100, 200);

            Console.WriteLine(res2);


            //lambda --anonymous,inline method
            var func1 = new Func <int, int, int>((a, b) => { return(a + b); });
            int res3  = func(100, 200);

            func = (x, y) => { return(x * y); };
            res3 = func(3, 4);
            Console.WriteLine(res3);

            DoSomeCalc((a, b) => { return(a * b); }, 100, 200);
        }