Unity学习(C#)——多播委托

    技术2023-10-23  102

    一个委托指向多个方法。 通过 a += Test2; a -= Test2; 来增减委托函数 如果委托的任意一个函数异常,剩下的其他函数也不会被调用了。

    class Program { static void Test1() { Console.WriteLine("test1"); } static void Test2() { Console.WriteLine("test2"); } static void Main(string[] args) { Action a = Test1; a += Test2; a(); a -= Test1; a();//当委托没有指向任何函数时,会报错 Console.ReadKey(); } } static void Main(string[] args) { Action a = Test1; a += Test2; //遍历委托并进行调用 Delegate[] delegates = a.GetInvocationList(); foreach (Delegate de in delegates) { de.DynamicInvoke(); } Console.ReadKey(); }
    Processed: 0.026, SQL: 9