title: MethodInvoker vs Action for Control.BeginInvoke
body: <p>Which is more correct and why?</p>
  
  <pre><code>Control.BeginInvoke(new Action(DoSomething), null);
  
  private void DoSomething()
  {
      MessageBox.Show("What a great post");
  }
  </code></pre>
  
  <p>or</p>
  
  <pre><code>Control.BeginInvoke((MethodInvoker) delegate { 
      MessageBox.Show("What a great post");
  }); 
  </code></pre>
  
  <p>I kinda feel like I am doing the same thing, so when is the right time to use <code>MethodInvoker</code> vs <code>Action</code>, or even writing a lambda expression?</p>
  
  <p><em>EDIT:</em> I know that there isn't really much of a difference between writing a lambda vs <code>Action</code>, but <code>MethodInvoker</code> seems to be made for a specific purpose.  Is it doing anything different?</p>