Пример #1
0
        private static void GetResult(IAsyncResult ar)
        {
            AsyncResult a  = ar as AsyncResult;
            MyDele2     d  = a.AsyncDelegate as MyDele2;
            int         kq = d.EndInvoke(ar);

            Console.WriteLine(kq);
        }
Пример #2
0
        static void Main(string[] args)
        {
            M1     m1     = new M1();
            MyDele myDele = new MyDele(m1.Action);

            myDele += m1.Action;
            Console.WriteLine("++++++");

            MyDele2 myDele2 = new MyDele2(M2.Add);

            Console.ReadLine();
        }
Пример #3
0
        static void Main(string[] args)
        {
            //.Net 1.0
            MyDele2       d  = new MyDele2(Add);
            AsyncCallback ac = new AsyncCallback(GetResult);

            d.BeginInvoke(2, 3, ac, null);
            Print();
            Console.ReadLine();
            //MyDele2 d2 = new MyDele2(Add);
            //int kq = d2.Invoke(2, 4);
            //Console.WriteLine(kq);



            //.NET 2.0
            //Anonymous Method
            MyDele2 d2 = delegate(int a, int b)
            {
                return(a * b);
            };
            int r = d2(2, 3);

            //.NET 3.5 or later
            //Lambda Expression
            MyDele2 d3 = ((a, b) => a + b);
            int     r3 = d3(2, 3);

            Console.WriteLine(r3);

            Func <int, int, int> d4 = ((a, b) => a + b);

            r = d4(2, 3);
            Console.WriteLine(r);

            //MyDele2 d2 = new MyDele2(Add);
            //int r = d2(2, 3);
            //Console.WriteLine(r);
        }