为什么我的Winforms应用程序中的SynchronizationContext.Current为null?
我刚写了这段代码:
System.Threading.SynchronizationContext.Current.Post( state => DoUpdateInUIThread((Abc)state), abc);
但System.Threading.SynchronizationContext.Current为null
看到这个解释 。
SynchronizationContext.Current只在主线程中设置(这是你实际上不需要它的唯一线程)
博客文章提出了一种解决方法。
让它工作。
在你的class上
private SynchronizationContext synchronizationContext;
在UI线程 (主线程)
synchronizationContext = System.Threading.SynchronizationContext.Current;
在工作线程中
synchronizationContext.Post( state => DoUpdateInUIThread((Abc)state), abc);