Chaque billet de blog que j'ai lu vous indique comment utiliser une méthode asynchrone en C# 5, mais pour une raison étrange, jamais expliquer comment construire vos propres méthodes asynchrones à consommer. J'ai donc ce code juste maintenant que consomme ma méthode.
private async void button1_Click(object sender, EventArgs e)
{
var now = await CountToAsync(1000);
label1.Text = now.ToString();
}
Et j'ai écrit cette méthode qui est CountToAsync:
private Task<DateTime> CountToAsync(int num = 1000)
{
return Task.Factory.StartNew(() =>
{
for (int i = 0; i < num; i++)
{
Console.WriteLine("#{0}", i);
}
}).ContinueWith(x => DateTime.Now);
}
Est-ce, l'utilisation de la Tâche.En usine, la meilleure façon d'écrire une méthode asynchrone, ou devrais-je écrire cela d'une autre façon?