MethodInvoker против Action для Control.BeginInvoke

Что является более правильным и почему?

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

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

или же

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

Я чувствую, что делаю то же самое, поэтому, когда подходящее времяMethodInvoker противActionили даже писать лямбда-выражение?

EDIT: Я знаю, что на самом деле нет большой разницы между написанием лямбды противAction, ноMethodInvoker кажется, сделано для определенной цели. Это делает что-то другое?

Ответы на вопрос(7)

Ваш ответ на вопрос