转载以记录:http://blog.csdn.net/educast/article/details/7219854
在使用 Action<T> 委托时,不必显式定义一个封装只有一个参数的方法的委托。以下代码显式声明了一个名为 DisplayMessage 的委托,并将对 WriteLine 方法或 ShowWindowsMessage 方法的引用分配给其委托实例。
1 usingSystem; 2 usingSystem.Windows.Forms; 3 delegatevoid DisplayMessage(stringmessage); 4 publicclass TestCustomDelegate{ 5 public static void Main() 6 { 7 DisplayMessage messageTarget; 8 if(Environment.GetCommandLineArgs().Length > 1) 9 messageTarget = ShowWindowsMessage; 10 else 11 messageTarget = Console.WriteLine; 12 messageTarget("Hello, World!"); 13 } 14 15 private static void ShowWindowsMessage(stringmessage) 16 { 17 MessageBox.Show(message); 18 } 19 } 20