Tag: dynamic invoke

在muticast委托上使用慢速DynamicInvoke的替代方法

我在基类中有以下代码: public static void InvokeExternal(Delegate d, object param, object sender) { if (d != null) { //Check each invocation target foreach (Delegate dDelgate in d.GetInvocationList()) { if (dDelgate.Target != null && dDelgate.Target is System.ComponentModel.ISynchronizeInvoke && ((System.ComponentModel.ISynchronizeInvoke)(dDelgate.Target)).InvokeRequired) { //If target is ISynchronizeInvoke and Invoke is required, invoke via ISynchronizeInvoke ((System.ComponentModel.ISynchronizeInvoke)(dDelgate.Target)).Invoke(dDelgate, new object[] { sender, param }); […]