Mega Code Archive

 
Categories / C# / Language Basics
 

Async Delegates Callback

using System; using System.Threading;     class AsyncDelegatesCallback {     public static int Add(int op1, int op2, out int result)     {         Thread.Sleep(1000);          return (result = op1 + op2);     }     public delegate int AddDelegate(int op1, int op2,         out int result);         public static void AnnounceSum(IAsyncResult iar)     {         AddDelegate add = (AddDelegate)iar.AsyncState;             int result;         add.EndInvoke(out result, iar);             Console.WriteLine("[AnnounceSum] The result is {0}", result);     }         static void Main()     {         int result;         AddDelegate add = new AddDelegate(Add);         add.BeginInvoke(6, 42, out result, new AsyncCallback(AnnounceSum), add);             Thread.Sleep(1000);      } }