MethodInvoker vs Action for Control.BeginInvoke

Co jest bardziej poprawne i dlaczego?

Control.BeginInvoke(new Action(DoSomething), null);

private void DoSomething()
{
    MessageBox.Show("What a great post");
}

lub

Control.BeginInvoke((MethodInvoker) delegate { 
    MessageBox.Show("What a great post");
}); 

Czuję, że robię to samo, więc kiedy jest odpowiedni czas na wykorzystanieMethodInvoker vsAction, a nawet napisać wyrażenie lambda?

EDYTOWAĆ: Wiem, że nie ma dużej różnicy między pisaniem lambda aAction, aleMethodInvoker wydaje się być wykonane w określonym celu. Czy robi coś innego?

questionAnswers(7)

yourAnswerToTheQuestion