| public delegate void TheEvent(int a); public void test() { TheEvent testdel1 = new TheEvent(del1); testdel1(12); } public void del1(int x) { Console.WriteLine("output x : ", x); } |
| public void test() { TheEvent testdel1 = del1; testdel1(12); } |
| delegate void TheEvent2(int a); public void test2() { int a = 12; TheEvent ev2 = delegate(ref int x) { Console.WriteLine("output x : ", x); }; ev2( ref a); } |
| public static void test3() { int a = 12; int y = 32; TheEvent ev2 = delegate(ref int x) { Console.WriteLine("output x + y : ", x + y); }; ev2( ref a); } |
| public static void test4() { int a = 12; int y = 32; TheEvent ev2 = delegate(ref int x) { Console.WriteLine("output x + y : ", x + y); Thread.Sleep(100); }; //ev2(ref a); IAsyncResult ar = ev2.BeginInvoke(ref a, delegate(IAsyncResult ar2) {Console.Write("Operation finished: on thread ID:, is pool: ",ar2.IsCompleted,Thread.CurrentThread.GetHashCode(), Thread.CurrentThread.IsThreadPoolThread);} , null); Console.WriteLine("do some other calculations while counter thread is working"); Console.Write("work status : Main Thread ID:, is pool: ", ar.IsCompleted, Thread.CurrentThread.GetHashCode(), Thread.CurrentThread.IsThreadPoolThread); Thread.Sleep(500); ev2.EndInvoke(ref a, ar); } |
用户评论