Primeiro, queria elogiar a qualidade da aula do senhor. muito boa mesmo, consegui entender varias coisas que pra mim antes era tipo ???.
Vamos lá.. ate o momento o senho me mostrou que um metodo pode ser async com retorno de uma task ex. public async Task Metodo()
, tambem pode ser sem retorno public async void Metodo
e pode ter o retorno gererico, mas a minha duvida é nos dois primeiros. Antes de ver esse assunto ate o momento todo metodo que tinha um retorno definido, tinha que ter um return; em seu corpo. Porem eu vi que qd o retorno é Task ele nao da erro de compilação meesmo sem retorna explicitamente com a palavra return. Sendo necessario apenas ter o await, entao minha duvida é qd a tarefa n retorna valor mas o metodo devolve uma tarefa. e nao tem return o que elas devolve?. Como ela sabe que a task terminou? ex:
Veja que no metodo3 ele retorn uma Task mas nao precisei escrever return, entao ele return algo?
async void MetodoAsync1()
{
var tasks = MetodoAsync2();
var taskss = MetodoAsync3();
}
async Task MetodoAsync2()
{
return await Task
}
async Task MetodoAsync3()
{
await Task
}