Если у меня есть следующий метод:
public async Task<T> DoSomethingAsync<T>(Func<Task<T>> action)
{
// bunch of async code..then "await action()"
}
В чем разница между следующими двумя обычаями:
public async Task MethodOneAsync()
{
return await DoSomethingAsync(async () => await SomeActionAsync());
}
public async Task MethodTwoAsync()
{
return await DoSomethingAsync(() => SomeActionAsync());
}
Оба компилируются.. оба работают.. нет R # предупреждения...
Какая разница (если таковая имеется)? Будут ли оба метода запускать true async, если они ожидаются вызывающим?