Почему SynchronizationContext.Current null в моем приложении Winforms? Я просто написал этот код: System.Threading.SynchronizationContext.Current.Post( state => DoUpdateInUIThread((Abc)state), abc); но System.Threading.SynchronizationContext.Current имеет значение null Ответ 1 См. это объяснение. SynchronizationContext.Current устанавливается только в основном потоке (который является единственным потоком, в котором он действительно не нужен) Сообщение в блоге предлагает обходное решение. Ответ 2 Чтобы заставить его работать. В вашем классе private SynchronizationContext synchronizationContext; В потоке пользовательского интерфейса (основной поток) synchronizationContext = System.Threading.SynchronizationContext.Current; В рабочем потоке synchronizationContext.Post( state => DoUpdateInUIThread((Abc)state), abc);
Ответ 1 См. это объяснение. SynchronizationContext.Current устанавливается только в основном потоке (который является единственным потоком, в котором он действительно не нужен) Сообщение в блоге предлагает обходное решение.
Ответ 2 Чтобы заставить его работать. В вашем классе private SynchronizationContext synchronizationContext; В потоке пользовательского интерфейса (основной поток) synchronizationContext = System.Threading.SynchronizationContext.Current; В рабочем потоке synchronizationContext.Post( state => DoUpdateInUIThread((Abc)state), abc);