当前位置:首页 > Windows程序 > 正文

C#异步回调函数

2021-03-25 Windows程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ComprehensiveTest.com
{
    public class AsyCallEx112
    {
        // 定义一个执行加法的委托
        public delegate int sum(int a, int b);
        public class number
        {
            public int m = 4;
            public int numberAdd(int a, int b)
            {
                int c = a + b;
                return c;
            }
            //定义一个与。net framework 定义的asyncCallback委托相对应的回调函数
            public void CallbackMothed2(IAsyncResult ar2)
            {
                sum s = (sum)ar2.AsyncState;
                int number = s.EndInvoke(ar2);
                m = number;
                Console.WriteLine("得到的M值:{0}", m);
            }
        }
    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace ComprehensiveTest.com
{
    public class AsyCallEx113
    {
        //定义一个委托
        public delegate void AsyncEventHanlder();
        public class Class1
        {
            public void Event1()
            {
                Console.WriteLine("Event1 start");
                System.Threading.Thread.Sleep(2000);
                Console.WriteLine("Event1 end");
            }
            public void Event2()
            {
                Console.WriteLine("Event2 start");
                int i = 1;
                while (i < 100)
                {
                    i = i + 1;
                    Console.WriteLine("Event2 " + i.ToString());
                }
                Console.WriteLine("Event2 end");
            }
            public void CallbackMethod( IAsyncResult ar )
            {
                ((AsyncEventHanlder)ar.AsyncState).EndInvoke(ar);
            }
        }
    }
}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComprehensiveTest.com;


温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/66963.html