title: How to use Tasks to simplify Delegate.BeginInvoke/Delegate.EndInvoke?
body: <p>Trying to wrap my head around the Tasks class, and more specifically, the <code>Task.Factory.FromAsync</code> method.</p>
  
  <p>Currently in my code I am doing something like this:</p>
  
  <pre><code>var handler = MyEvent;
  
  if (handler != null)
  {
      handler.Invoke(this, e);
  }
  </code></pre>
  
  <p>Unfortunately, this is synchronous and I am looking for the asynchronous version. I could use BeginInvoke and EndInvoke but it seems like a bit of a waste considering I don't need a callback. I believe I heard somewhere it is possible to use one of the Task.Factory methods to simplify this call where a dummy callback would then not be necessary. Could anyone enlighten me?</p>