//------------------------------------------------------------------------------ // <auto-generated> // 此代码由工具生成。 // 运行时版本:4.0.30319.33440 // // 对此文件的更改可能会导致不正确的行为,并且如果 // 重新生成代码,这些更改将会丢失。 // </auto-generated> //------------------------------------------------------------------------------ using System; namespace Solution8 { public class Program { static void Test1 () { Console.WriteLine ("Test1"); } static void Test2 () { Console.WriteLine ("Test2"); } public Program () { } static void Main () {//多播委托 Action a = Test1; //a = Test2; a += Test2; a (); a -= Test1; a (); a -= Test2; if (a != null) a ();//当一个委托不指向任何方法的时候, 会出现null错误. Console.WriteLine ("/------------------------------------------------"); //获得多播委托列表 a += Test1; a += Test2; Delegate[] delegates = a.GetInvocationList (); foreach (Delegate de in delegates) { de.DynamicInvoke (); } } } }