How do you implement an async action delegate method?
The async
equivalent of Action<T>
is Func<T, Task>
, so I believe this is what you're looking for:
public async Task<T> DoSomethingAsync<T>(Func<T, Task> resultBody)
where T : Result, new()
{
T result = new T();
await resultBody(result);
return result;
}