Передача параметра метода с помощью Задачи. Фабрика. StartNew

У меня есть следующий код:

var task = Task.Factory.StartNew(CheckFiles, cancelCheckFile.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);

private void CheckFiles()
{
  //Do stuff
}

Я теперь хочу исправить CheckFiles для принятия и целое число и ссылка BlockingCollection

private void CheckFiles(int InputID, BlockingCollection<string> BlockingDataCollection)
{
  //Do stuff
}

Я, может казаться, не нахожу способ Запустить эту задачу, как я сделал выше.

Можно ли помочь?

Спасибо

59
задан 15 November 2011 в 00:00

1 ответ

Попробуйте это,

        var arg = new { i = 123, j = 456 };
        var task = new TaskFactory().StartNew(new Func<dynamic, int>((argument) =>
        {
            dynamic x = argument.i * argument.j;
            return x;
        }), arg, CancellationToken.None, TaskCreationOptions.AttachedToParent, TaskScheduler.Default);
        task.Wait();
        var result = task.Result;
0
ответ дан 1 November 2019 в 11:51

Другие вопросы по тегам:

Похожие вопросы: