Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Não é possível aguardar "void"
Exemplo
O exemplo a seguir gera CS4008:
// CS4008.cs (7,33)
using System.Threading.Tasks;
class Test
{
public async void goo()
{
await Task.Factory.StartNew(() => { });
}
public async void bar()
{
await goo();
}
public static void Main() { }
}
Para corrigir este erro
Embora esse erro possa ser corrigido alterando a assinatura de goo
:
public async Task goo()
{
await Task.Factory.StartNew(() => { });
}
Simplesmente adicionar Task
à assinatura do método perpetua desnecessariamente uma máquina de estado criada pelo compilador quando ela não é necessária. O método goo
não requer um await
, nem precisa ser assíncrono. Em vez disso, considere simplesmente retornar o Task
criado por Task.Factory
:
public Task goo()
{
return Task.Factory.StartNew(() => { });
}