可以使用委托执行异步调用,以启动任何方法。对于每个异步调用,.NetFramework创建一个IAsyncResult

我想弄清楚 委托(IntAsyncDelegate)和  它调用的方法,

             

delegate  int  IntAsyncDelete(int number);

static   IntAsyncDelete  aDelegate;

aDelegate=new IntAsyncDelete(方法);

 

 我想弄清楚 委托(AsyncCallback)和 IasyncResult

 

AsyncCallback  callback=new  AsyncCallback(方法)

但是这里的方法要这样定义

static  void DisplayResult(IAsyncResult  ar)

{

}

分析这样的代码

             委托对象,调用方法Fiboancci();

            aDelegate = new IntAsyncDelegate(Fibonacci);

            委托对象,调用方法DisplayResult();
            AsyncCallback callback = new AsyncCallback(DisplayResult);
            Console.Write("Enter a number: ");
            int number = int.Parse(Console.ReadLine());

              把这个数字(number)传入到fibonacci方法,这个地方很重要就是

            先执行fibonacci方法,让后执行DisplayResult方法

            aDelegate.BeginInvoke(number, callback, number);
            Console.WriteLine("wait while we process your request");

            如果这里不用sleep.就会一下子执行,不会再去执行那两个方法。
            Thread.Sleep(5000);

 

posted on 2010-11-30 14:14  挑战自我  阅读(218)  评论(0编辑  收藏  举报