私は非同期CTPを手に入れようとしていますが、コンパイラが非同期戻り型について不満を感じました。他のタイプの問題は何ですか?非同期戻り型がvoid、タスクまたはタスクである必要がある理由<T>
簡単なデモ
static void Main(string[] args)
{
DoWork();
Console.WriteLine("Returned to main");
Console.Read();
}
// why do I need to return void, Task or Task<T> here?
// I know I can use something like Task<IEnumerable<string>>
private static async string[] DoWork()
{
Console.WriteLine("DoWork started");
return await Task.Factory.StartNew(
delegate
{
Thread.Sleep(2000);
Console.WriteLine("DoWork done");
return new List<string>();
});
}