static int Main() { SimpleDelegate d = new SimpleDelegate(F); AsyncCallback ac = new AsyncCallback(async_callback); string state1 = "STATE1"; string state2 = "STATE2"; string state3 = "STATE3"; string state4 = "STATE4"; int fin = 0; IAsyncResult ar1 = d.BeginInvoke(1, ac, state1); IAsyncResult ar2 = d.BeginInvoke(2, ac, state2); IAsyncResult ar3 = d.BeginInvoke(3, ac, state3); IAsyncResult ar4 = d.BeginInvoke(4, ac, state4); int res = d.EndInvoke(ar1); Console.WriteLine("Result = " + res); try { d.EndInvoke(ar1); } catch (InvalidOperationException) { Console.WriteLine("cant execute EndInvoke twice ... OK"); } ar1.AsyncWaitHandle.WaitOne(); if (ar1.IsCompleted) { fin++; } Console.WriteLine("completed1: " + ar1.IsCompleted); ar2.AsyncWaitHandle.WaitOne(); if (ar2.IsCompleted) { fin++; } Console.WriteLine("completed2: " + ar2.IsCompleted); ar3.AsyncWaitHandle.WaitOne(); if (ar3.IsCompleted) { fin++; } Console.WriteLine("completed3: " + ar3.IsCompleted); ar4.AsyncWaitHandle.WaitOne(); if (ar4.IsCompleted) { fin++; } Console.WriteLine("completed4: " + ar4.IsCompleted); if (fin != 4) { return(1); } return(0); }
static int Main() { SimpleDelegate d = new SimpleDelegate(async_func_throws); AsyncCallback ac = new AsyncCallback(async_callback); string state1 = "STATE1"; // Call delegate via ThreadPool and check that the exception is rethrown correctly IAsyncResult ar1 = d.BeginInvoke(1, ac, state1); while (cb_state == 0) { Thread.Sleep(0); } try { d.EndInvoke(ar1); Console.WriteLine("NO EXCEPTION"); return(1); } catch (AsyncException) { Console.WriteLine("received exception ... OK"); return(0); } catch (Exception e) { Console.WriteLine("wrong exception {0}", e); return(3); } }
static int Main () { SimpleDelegate d = new SimpleDelegate (F); AsyncCallback ac = new AsyncCallback (async_callback); string state1 = "STATE1"; int res = 0; IAsyncResult ar1 = d.BeginInvoke (1, ac, state1); ar1.AsyncWaitHandle.WaitOne (); try { res = d.EndInvoke (ar1); } catch (NotImplementedException) { res = 1; Console.WriteLine ("received exception ... OK"); } while (cb_state == 0) Thread.Sleep (0); if (cb_state != 1) return 1; if (res != 1) return 2; return 0; }
static int Main () { SimpleDelegate d1 = new SimpleDelegate (Method); SimpleDelegate d2 = new SimpleDelegate (Method); AsyncCallback ac = new AsyncCallback (Callback); IAsyncResult ar1 = d1.BeginInvoke (1, ac, null); IAsyncResult ar2 = d2.BeginInvoke (2, ac, null); try { d1.EndInvoke (ar2); return 1; } catch (InvalidOperationException) { // expected } try { d2.EndInvoke (ar1); return 2; } catch (InvalidOperationException) { // expected } if (1 != d1.EndInvoke (ar1)) return 3; if (2 != d2.EndInvoke (ar2)) return 4; return 0; }
public static void Run() { // Using lambda operator FormatDateTime czechFormat = dateTime => $"{dateTime:dd.MM.yyyy}"; czechFormat += dateTime => $"{dateTime:dd.MM.yy}"; Console.WriteLine($"Czech format: {czechFormat(DateTime.Now)}"); // Asking for invocation list var invocations = czechFormat.GetInvocationList(); foreach (var invocation in invocations) { Console.WriteLine($"invocation.Method: {invocation.Method}"); Console.WriteLine($"invocation.Target: {invocation.Target}"); } // Using asynchronous support SimpleDelegate simpleDelegate = () => { Thread.Sleep(1000); }; Console.WriteLine("The delegate invoked asynchronously is starting ..."); simpleDelegate.BeginInvoke(HandleEndOfSimpleDelegateInvocation, null); Console.WriteLine("Processing is going on ..."); }
static int Main() { SimpleDelegate d = new SimpleDelegate(F); AsyncCallback ac = new AsyncCallback(async_callback); string state1 = "STATE1"; int res = 0; IAsyncResult ar1 = d.BeginInvoke(1, ac, state1); ar1.AsyncWaitHandle.WaitOne(); try { res = d.EndInvoke(ar1); while (cb_state == 0) { Thread.Sleep(0); } } catch (NotImplementedException) { res = 1; Console.WriteLine("received exception ... OK"); } if (cb_state != 1) { return(1); } if (res != 1) { return(2); } return(0); }
static int Main() { SimpleDelegate d1 = new SimpleDelegate(Method); SimpleDelegate d2 = new SimpleDelegate(Method); AsyncCallback ac = new AsyncCallback(Callback); IAsyncResult ar1 = d1.BeginInvoke(1, ac, null); IAsyncResult ar2 = d2.BeginInvoke(2, ac, null); try { d1.EndInvoke(ar2); return(1); } catch (InvalidOperationException) { // expected } try { d2.EndInvoke(ar1); return(2); } catch (InvalidOperationException) { // expected } if (1 != d1.EndInvoke(ar1)) { return(3); } if (2 != d2.EndInvoke(ar2)) { return(4); } return(0); }
public void ProcessCommand(string cmd) { m_commandLine.Enabled = false; // // ProcessCommand may block, so call it asynchronously // to keep UI responsive. // SimpleDelegate d = delegate { m_cmdProc.ProcessCommand( cmd, delegate(string text){ this.Invoke((SimpleDelegate) delegate { Output(text); }); }); this.Invoke((SimpleDelegate) delegate { m_commandLine.Enabled = true; Output("\n"); m_commandLine.Focus(); }); }; d.BeginInvoke(null, null); }
static int Main() { // // Beginn Aenderung Test // Console.WriteLine("\n\tVOR SimpleDelegate d = new SimpleDelegate (F);\n"); // // Ende Aenderung Test // SimpleDelegate d = new SimpleDelegate(F); // // Beginn Aenderung Test // Console.WriteLine("\n\tNACH SimpleDelegate d = new SimpleDelegate (F);\n"); Console.WriteLine("\n\tVOR AsyncCallback ac = new AsyncCallback (async_callback);\n"); // // Ende Aenderung Test // AsyncCallback ac = new AsyncCallback(async_callback); // // Beginn Aenderung Test // Console.WriteLine("\n\tNACH AsyncCallback ac = new AsyncCallback (async_callback)\n"); Console.WriteLine("\n\tVOR IAsyncResult ar1 = d.BeginInvoke (cb_state, ac, cb_state);\n"); // // Ende Aenderung Test // IAsyncResult ar1 = d.BeginInvoke(cb_state, ac, cb_state); // // Beginn Aenderung Test // Console.WriteLine("\n\tNACH IAsyncResult ar1 = d.BeginInvoke (cb_state, ac, cb_state)\n"); Console.WriteLine("\n\tVOR ar1.AsyncWaitHandle.WaitOne ();\n"); // // Ende Aenderung Test // ar1.AsyncWaitHandle.WaitOne(); // // Beginn Aenderung Test // Console.WriteLine("\n\tNACH ar1.AsyncWaitHandle.WaitOne ();)\n"); // // Ende Aenderung Test // while (cb_state < 5) { Thread.Sleep(200); } return(0); }
static int Main () { SimpleDelegate d = new SimpleDelegate (F); AsyncCallback ac = new AsyncCallback (async_callback); string state1 = "STATE1"; string state2 = "STATE2"; string state3 = "STATE3"; string state4 = "STATE4"; int fin = 0; IAsyncResult ar1 = d.BeginInvoke (1, ac, state1); IAsyncResult ar2 = d.BeginInvoke (2, ac, state2); IAsyncResult ar3 = d.BeginInvoke (3, ac, state3); IAsyncResult ar4 = d.BeginInvoke (4, ac, state4); int res = d.EndInvoke (ar1); Console.WriteLine ("Result = " + res); try { d.EndInvoke (ar1); } catch (InvalidOperationException) { Console.WriteLine ("cant execute EndInvoke twice ... OK"); } ar1.AsyncWaitHandle.WaitOne (); if (ar1.IsCompleted) fin++; Console.WriteLine ("completed1: " + ar1.IsCompleted); ar2.AsyncWaitHandle.WaitOne (); if (ar2.IsCompleted) fin++; Console.WriteLine ("completed2: " + ar2.IsCompleted); ar3.AsyncWaitHandle.WaitOne (); if (ar3.IsCompleted) fin++; Console.WriteLine ("completed3: " + ar3.IsCompleted); ar4.AsyncWaitHandle.WaitOne (); if (ar4.IsCompleted) fin++; Console.WriteLine ("completed4: " + ar4.IsCompleted); if (fin != 4) return 1; return 0; }
public static int Main () { SimpleDelegate d = new SimpleDelegate (F); AsyncCallback ac = new AsyncCallback (async_callback); IAsyncResult ar1 = d.BeginInvoke (cb_state, ac, cb_state); ar1.AsyncWaitHandle.WaitOne (); while (cb_state < 5) Thread.Sleep (200); return 0; }
static void async_callback(IAsyncResult ar) { AsyncResult ares = (AsyncResult)ar; AsyncCallback ac = new AsyncCallback(async_callback); Console.WriteLine("Async Callback " + ar.AsyncState); cb_state++; SimpleDelegate d = (SimpleDelegate)ares.AsyncDelegate; if (cb_state < 5) { d.BeginInvoke(cb_state, ac, cb_state); } //throw new NotImplementedException (); }
public static int Main() { SimpleDelegate d = new SimpleDelegate(F); AsyncCallback ac = new AsyncCallback(async_callback); IAsyncResult ar1 = d.BeginInvoke(cb_state, ac, cb_state); ar1.AsyncWaitHandle.WaitOne(); while (cb_state < 5) { Thread.Sleep(200); } return(0); }
static void async_callback(IAsyncResult ar) { AsyncResult ares = (AsyncResult)ar; // // Beginn Aenderung Test // Console.WriteLine("\n\tVOR AsyncCallback ac = new AsyncCallback (async_callback)\n"); // // Ende Aenderung Test // AsyncCallback ac = new AsyncCallback(async_callback); // // Beginn Aenderung Test // Console.WriteLine("\n\tNACH AsyncCallback ac = new AsyncCallback (async_callback)\n"); // // Ende Aenderung Test // Console.WriteLine("Async Callback " + ar.AsyncState); cb_state++; // // Beginn Aenderung Test // Console.WriteLine("\n\tVOR SimpleDelegate d = (SimpleDelegate)ares.AsyncDelegate\n"); // // Ende Aenderung Test // SimpleDelegate d = (SimpleDelegate)ares.AsyncDelegate; // // Beginn Aenderung Test // Console.WriteLine("\n\tNACH SimpleDelegate d = (SimpleDelegate)ares.AsyncDelegate\n"); // // Ende Aenderung Test // if (cb_state < 5) { d.BeginInvoke(cb_state, ac, cb_state); } //throw new NotImplementedException (); }
static int Main () { SimpleDelegate d = new SimpleDelegate (F); AsyncCallback ac = new AsyncCallback (async_callback); string state1 = "STATE1"; int res = 0; // Call delegate via ThreadPool and check that the exception is rethrown correctly IAsyncResult ar1 = d.BeginInvoke (1, ac, state1); while (cb_state == 0) Thread.Sleep (0); try { res = d.EndInvoke (ar1); Console.WriteLine ("NO EXCEPTION"); return 1; } catch (NotImplementedException) { Console.WriteLine ("received exception ... OK"); } return 0; }