Est prevTask.Wait() recommandé pour être utilisé avec ContinueWith (à partir des Tâches de la bibliothèque)?

Donc on m'a dit récemment que la façon dont j'ai été en utilisant mon .ContinueWith pour des Tâches n'était pas la bonne façon de les utiliser. Je n'ai pas encore trouver la preuve de cette sur internet, donc je vais vous demander de vous les gars et voir quelle est la réponse. Voici un exemple de la façon dont j'utilise .ContinueWith:

public Task DoSomething()
{
    return Task.Factory.StartNew(() =>
    {
        Console.WriteLine("Step 1");
    })
    .ContinueWith((prevTask) =>
    {
        Console.WriteLine("Step 2");
    })
    .ContinueWith((prevTask) =>
    {
        Console.WriteLine("Step 3");
    });
}

Maintenant, je sais que c'est un simple exemple et il va courir très vite, mais il suffit de supposer chaque tâche fait un peu plus de temps de fonctionnement. Donc, ce qu'on m'a dit que dans le .ContinueWith, vous avez besoin de dire prevTask.Wait(); sinon, vous pourriez vous faire le travail avant que la précédente tâche est terminée. Est-il même possible? J'ai pris mon deuxième & troisième tâche ne fonctionnera qu'une fois leur tâche précédente se termine.

Ce que m'a dit comment écrire le code:

public Task DoSomething()
{
    return Task.Factory.StartNew(() =>
    {
        Console.WriteLine("Step 1");
    })
    .ContinueWith((prevTask) =>
    {
        prevTask.Wait();
        Console.WriteLine("Step 2");
    })
    .ContinueWith((prevTask) =>
    {
        prevTask.Wait();
        Console.WriteLine("Step 3");
    });
}
InformationsquelleAutor Travyguy9 | 2012-08-10