public static object Invoke(Delegate method, params object[] args) { Contract.Requires(method != null); object result = null; SafeMethodInvoker invoker = new SafeMethodInvoker(method, args); if (UIThreadInvoker.threadControl.InvokeRequired) result = UIThreadInvoker.threadControl.Invoke(new Invoker(invoker.Invoke)); else result = invoker.Invoke(); invoker.Rethrow(); return result; }
public static object Invoke(Delegate method) { Contract.Requires(method != null); object result = null; SafeMethodInvoker invoker = new SafeMethodInvoker(method, null); if (UIThreadInvoker.threadControl.InvokeRequired) { result = UIThreadInvoker.threadControl.Invoke(new Invoker(invoker.Invoke)); } else { result = invoker.Invoke(); } invoker.Rethrow(); return(result); }