Async Callback Delegate : Async Delegate : Development C# Examples


C# Examples » Development » Async Delegate »

 

Async Callback Delegate









    
using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.Threading;
using  System.Runtime.Remoting.Messaging;

public  delegate  int  BinaryOp(int  x,  int  y);

class  Program  {
        static  void  Main(string[]  args)  {
                BinaryOp  b  =  new  BinaryOp(Add);
                IAsyncResult  iftAR  =  b.BeginInvoke(10,  10,  new  AsyncCallback(AddComplete),  "Main()  thanks  you  for  adding  these  numbers.");
                Console.ReadLine();
        }

        static  void  AddComplete(IAsyncResult  itfAR)  {
                AsyncResult  ar  =  (AsyncResult)itfAR;
                BinaryOp  b  =  (BinaryOp)ar.AsyncDelegate;
                Console.WriteLine("10  +  10  is  {0}.",  b.EndInvoke(itfAR));
                string  msg  =  (string)itfAR.AsyncState;
                Console.WriteLine(msg);
        }

        static  int  Add(int  x,  int  y)  {
                Console.WriteLine("Add()  invoked  on  thread  {0}.",  Thread.CurrentThread.GetHashCode());
                Thread.Sleep(5000);
                return  x  +  y;
        }
}
    
   
  
   




HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Development
» Async Delegate