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?