Porque devo sempre retornar uma Task quando utilizado o async na assinatura do método?
Como o exemplo dado na aula:
private async Task<string[]> ConsolidarContas(IEnumerable<ContaCliente> contas, IProgress<string> reportadorDeProgresso)
{
var tasks = contas.Select(conta => Task.Factory.StartNew(() =>
{
var resultadoConsolidacao = r_Servico.ConsolidarMovimentacao(conta);
reportadorDeProgresso.Report(resultadoConsolidacao);
return resultadoConsolidacao;
})
);
return await Task.WhenAll(tasks);
}
Se tentar retornar o array de strings diretamente recebo um erro.