解决跨线程异常的C#扩展
是否有任何扩展方法可用于解决windows窗体中的跨线程异常,如wpf窗体或任何常规模式中的跨线程异常解决跨线程异常的C#扩展,c#,multithreading,C#,Multithreading,是否有任何扩展方法可用于解决windows窗体中的跨线程异常,如wpf窗体或任何常规模式中的跨线程异常 Invoke在这里已经做了一些事情来短路,但是要完成它就很简单了: public static class SyncExtensions { public static void InvokeIfRequired(this ISynchronizeInvoke ctrl, MethodInvoker method) { if(ctrl.Invok
Invoke
在这里已经做了一些事情来短路,但是要完成它就很简单了:
public static class SyncExtensions {
public static void InvokeIfRequired(this ISynchronizeInvoke ctrl,
MethodInvoker method) {
if(ctrl.InvokeRequired) ctrl.Invoke(method, null);
else method();
}
}
之所以选择
MethodInvoker
,是因为它在Invoke
中有特定的处理,以避免使用DynamicInvoke
(反射)。您是否查看了该方法?能否显示您遇到问题的代码。