Estoy intentando ensuciarme las manos con CTP asincrónico y noté que el compilador se queja del tipo de retorno asíncrono. ¿Cuál es el problema con otros tipos?Por qué el tipo de retorno de asincrónico debe ser nulo, Tarea o Tarea <T>
Una demostración sencilla
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>();
});
}