, return FrobnicateAsync() - .
- , finally ( using) , return, await, finally t , async .
, async/await.
, ( ), , async/await, , using .
: , , :
Task FrobAndFrobnicateAsync()
{
async Task Awaited(Task t) => await t;
Frob();
var task = FrobnicateAsync();
return task.State == TaskState.RanToCompletion ? task : Awaited(task);
}
, .