У меня вопрос по задачам. Я хочу открыть новую задачу и запустить метод.
public void runProgram(CancellationToken token)
{
Task t1 = Task.Run(() =>
{
Task task1 = Task.Factory.StartNew(method1, token);
//task 2 Just open a loading Dialog with a cancel button
Task task2 = Task.Factory.StartNew(method2, token);
Task.WaitAll(task1, task2);
}, token);
}
а кнопка отмены просто отменяет задачу. Это работает нормально, но в методе 1 я читаю данные с помощью data = _MainForm.serialPort.ReadExisting();
, если я запускаю метод без задачи, все работает нормально, но если я запускаю его с задачей, я не получаю никаких данных. Но мне нужна задача, если я хочу отменить выполнение... Что я могу там сделать?
Если я запускаю его так, он также не работает. Любые идеи? Должен ли я дать задаче какие-то объекты из Mainform или что-то в этом роде?
Task t1 = Task.Run(() =>
{
method1();
}, token);