Asynchronous Calls with Return Values : Asynchronous : Thread C# Examples


C# Examples » Thread » Asynchronous »

 

Asynchronous Calls with Return Values









    
using  System;
using  System.Threading;

class  MainClass{
        public  delegate  double  MathFunctionToCall(double  arg);
        
        public  static  void  MathCallback(IAsyncResult  iar)
        {
                MathFunctionToCall  mc  =  (MathFunctionToCall)  iar.AsyncState;
                double  result  =  mc.EndInvoke(iar);
                Console.WriteLine("Function  value  =  {0}",  result);
        }
        public  static  void  CallMathCallback(MathFunctionToCall  mathFunc,double  start,double  end,double  increment)
        {
                AsyncCallback  cb  =  new  AsyncCallback(MathCallback);
                
                Console.WriteLine("BeginInvoke:  {0}",  start);
                mathFunc.BeginInvoke(start,  cb,  mathFunc);
                start  +=  increment;
        }

        public  static  void  Main()
        {
                CallMathCallback(new  MathFunctionToCall(Math.Sin),  0.0,  1.0,  0.2);
                Thread.Sleep(2000);
        }
}
    
   
  
   



Output

BeginInvoke: 0
Function value = 0


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Thread
» Asynchronous