Есть случаи, когда я хотел бы выполнить задачу условно. Я использую какой-то метод расширения следующим образом:
public static class MyTaskExtension{
private static Task theEmptyTask = Task.Factory.StartNew(() => {}); //This is the question
public static Task ContinueWith(this Task task, Task continuationTask, Func<bool> condition)
{
if condition(){
... do the work
}
return theEmptyTask;
}
}
Я ожидаю, что theEmptyTask уже будет завершен, поэтому в основном, если я не хочу ничего делать, я просто возвращаю эту задачу вместо пустой или новой пустой задачи.
У меня такое чувство, что с этим подходом должен быть какой-то сбой. Кто-нибудь может это увидеть?