title: How to use async to execute callback delegate
body: <p>I have a callback function which needs to takes several seconds to process and should be a async method, but I can't find a way to execute this async callback by await because it must be a Delegate param in the calling method.
  Here is some piece of code:</p>
  
  <pre><code>async Task Callback(){//do some callback..}
  async Task DoSomething(Func&lt;Task&gt; callback){//I want to execute the callback like: await callback();}
  async void Main(){ DoSomething(Callback);}
  </code></pre>
  
  <p>Sorry for my poor english, any idea to do that? Thanks!</p>