Вызов событий в .NET в основном потоке пользовательского интерфейса. ⇐ C#

Место общения программистов C#
Anonymous
Вызов событий в .NET в основном потоке пользовательского интерфейса.

Сообщение Anonymous »

Я разрабатываю библиотеку классов в .NET, которую в конечном итоге будут использовать другие разработчики. Эта библиотека использует несколько рабочих потоков, и эти потоки вызывают события состояния, которые приводят к обновлению некоторых элементов управления пользовательского интерфейса в приложении WinForms/WPF.

Обычно для каждого обновления вам необходимо проверить свойство .InvokeRequired в WinForms или эквивалентное свойство WPF и вызвать его в основном потоке пользовательского интерфейса для обновления. Это может быстро устареть, и что-то неправильно заставлять конечного разработчика делать это, поэтому...

Есть ли способ, чтобы моя библиотека можно ли запускать/вызывать события/делегаты из основного потока пользовательского интерфейса?

В частности...
  • Должен ли я автоматически «обнаружить» используемый «основной» поток?
  • Если нет, должен ли я потребовать от конечного разработчика вызвать какой-нибудь (псевдо) поток? UseThisThreadForEvents() при запуске приложения, чтобы я мог получить целевой поток из этого вызова?


Подробнее здесь: https://stackoverflow.com/questions/169 ... -ui-thread

Вернуться в «C#»