众所周知 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(); }
可是我这个 “具体委托类型” 是不确定的 应该怎么办呢? 诚恳邀请各位大牛解答 !先谢谢了!
慕虎7371278