关于委托的BeginInvoke的一个问题

众所周知 BeginInvoke既不属于Delegate类也不属于MulticastDelegate类 他是定义了一个具体的委托类型后再编译所生成的 现在我想写一个公共的方法 传入一个Delegate类型和一些参数 然后调用这个类型的BeginInvoke  具体如下:

public static object[] FireEvent(Delegate del, params object[] args)
        {
            List<object> list = new List<object>();            if (del != null)
            {
                Delegate[] del_list = del.GetInvocationList();               
                foreach (var item in del_list)
                {                    try
                    {
                        (item as 具体委托类型).BeginInvoke(null, null);
                    }                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }


            }            return list.ToArray();
        }

可是我这个 “具体委托类型” 是不确定的 应该怎么办呢? 诚恳邀请各位大牛解答 !先谢谢了!

慕斯王
浏览 1054回答 2
2回答

慕虎7371278

可以用反射,试试看。item.Method.Invoke(item.Target,&nbsp;null);
打开App,查看更多内容
随时随地看视频慕课网APP