Каждое сообщение в блоге, которое я прочитал, говорит вам, как использовать асинхронный метод на С#, но по какой-то странной причине никогда не объясняет, как создавать собственные асинхронные методы для потребления. Поэтому у меня есть этот код прямо сейчас, который использует мой метод:
private async void button1_Click(object sender, EventArgs e)
{
var now = await CountToAsync(1000);
label1.Text = now.ToString();
}
И я написал этот метод, который 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);
}
Это, использование Task.Factory
, лучший способ написать асинхронный метод, или я должен написать это другим способом?