title: Storing an async function as a variable
body: <p>I have a question that is similar to <a href="https://stackoverflow.com/questions/2008392/storing-a-method-as-a-member-variable-of-a-class-in-c-sharp">this question</a> but that differs in that in my case I am dealing with Asynchronous functions. </p>
  
  <p>So as the question says I want to store a method in a variable (to call it later)</p>
  
  <p>In the case of syncrhonous functions</p>
  
  <pre><code>private delegate void eventmethod();  //(for a function without arguments and return void)
  
  private eventmethod MySavedEvent;
  
  void D()
  {
  }
  
  MySavedEvent = D;
  MySavedEvent();
  </code></pre>
  
  <p>But what happens if the function is actually</p>
  
  <pre><code>Task&lt;returnType&gt; D();
  </code></pre>
  
  <p>How can I define the delegate there? </p>