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