我读过的每篇博文都告诉你如何在C#中使用异步方法,但由于一些奇怪的原因,从未解释如何构建自己的异步方法来使用.所以我现在有这个代码消耗我的方法:
private async void button1_Click(object sender, EventArgs e)
{
var now = await CountToAsync(1000);
label1.Text = now.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我写的这个方法是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);
}
Run Code Online (Sandbox Code Playgroud)
这是使用Task.Factory,编写异步方法的最佳方法,还是应该用另一种方式编写?