Я кодирую компонент WinForm, где я запускаю задачу, чтобы выполнить фактическую обработку и перехватить исключение при продолжении. Оттуда я хочу показать сообщение об исключении в элементе пользовательского интерфейса.
Task myTask = Task.Factory.StartNew (() => SomeMethod(someArgs));
myTask.ContinueWith (antecedant => uiTextBox.Text = antecedant.Exception.Message,
TaskContinuationOptions.OnlyOnFaulted);
Теперь я получаю исключение между потоками, потому что задача пытается обновить элемент пользовательского интерфейса из, очевидно, потока, не связанного с пользовательским интерфейсом.
Однако в классе Component не определены Invoke или BeginInvoke.
Как действовать дальше?
ОБНОВЛЕНИЕ
Также обратите внимание, что Invoke/BeginInvoke/InvokeRequired недоступны из моего класса, производного от Component, поскольку Component их не предоставляет.