Example #1
0
        //异常委托测试
        static void ExceptionTest()
        {
            ExceptionDelegate exceptionDelegate = ExcptionTest.Method1;

            exceptionDelegate += ExcptionTest.Method2;
            exceptionDelegate += ExcptionTest.Method1;
            exceptionDelegate += ExcptionTest.Method2;



            Delegate[] delegates = exceptionDelegate.GetInvocationList();
            foreach (ExceptionDelegate item in delegates)
            {
                try
                {
                    item();
                }
                catch
                {
                    Console.WriteLine("捕获异常");
                }
            }

            Console.WriteLine("------------");
            for (int i = 0; i < delegates.Length; i++)
            {
                try
                {
                    (delegates[i] as ExceptionDelegate)();
                }
                catch
                {
                    Console.WriteLine("捕获异常");
                }
            }
        }