c# 多播委托的 异常处理 如果有返回值 只返回最后一个返回值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {


            Func<string> f0 = f1;
            f0 += f12;
            f0 += f2;
            f0 += f3;
            f0 += f4;
            Delegate[] dels = f0.GetInvocationList();

            foreach (Func<string> item in dels)
            {

                try
                {
                    Console.WriteLine(item());
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }

            }

            Console.ReadKey();


        }


        static string f1()
        {

            return "1";

        }
        static string f2()
        {

            return "2";

        }
        static string f3()
        {

            return "4";

        }
        static string f4()
        {

            return "5";

        }
        static string f12()
        {
            int b = 1;
            b = b - 1;
            int i = 1 / b;
            return "1ff";

        }

    }
}

 

posted @ 2016-10-18 11:12  刀小爱  阅读(712)  评论(0编辑  收藏  举报