private static void Main() { var test = new AsyncCallbackDelegate(); test.Main(); System.Console.ReadKey(); }
/// <summary> /// AsyncInvoke in another thread /// </summary> /// <param name="invoker">invoker delegate</param> /// <param name="callback">callback delegate </param> public void AsyncInvoke <T> (AsyncInvokeDelegate <T> invoker, AsyncCallbackDelegate <T> callback) { ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object state) { AsyncCallback <T> result; try { T invoke = invoker(); result = new AsyncCallback <T> (invoke); callback(result); } catch (Exception ex) { result = new AsyncCallback <T> (ex, false); callback(result); } })); }