C# async/await Progrès de l'événement sur la Tâche<> objet

Je suis complètement novice en C# 5 nouvelle async/await mots-clés et je suis intéressé à la meilleure façon de mettre en œuvre un événement progress.

Maintenant je préfère le il si un Progress événement était sur le Task<> lui-même. Je sais que je pourrais juste mettre de l'événement dans la classe qui contient la méthode asynchrone et de passer à quelque sorte de l'état de l'objet dans le gestionnaire d'événements, mais pour moi, cela semble être plus d'une solution à une solution. J'ai peut également différentes tâches à feu hors de gestionnaires d'événements dans différents objets, ce qui semble désordonné de cette façon.

Est-il un moyen que je pouvais faire quelque chose de similaire à la suivante?:

var task = scanner.PerformScanAsync();
task.ProgressUpdate += scanner_ProgressUpdate;
return await task;

OriginalL'auteur Connell | 2013-03-14