2 using System
.Threading
;
3 using System
.Runtime
.InteropServices
;
6 delegate void foo_delegate ();
8 static void function () {
9 Console
.WriteLine ("Delegate method");
12 static void async_callback (IAsyncResult ar
)
14 Console
.WriteLine ("Async callback " + ar
.AsyncState
);
18 public static int Main () {
19 Environment
.ExitCode
= 2;
20 foo_delegate d
= new foo_delegate (function
);
21 AsyncCallback ac
= new AsyncCallback (async_callback
);
22 IAsyncResult ar1
= d
.BeginInvoke (ac
, "foo");
24 ar1
.AsyncWaitHandle
.WaitOne();
28 Console
.WriteLine("Main returns");