| 

.NET C# Java Javascript Exception

4
Hallo,

wie haltet Ihr es mit der Verwendung von Lambda-Ausdrücken bei parameterlosen Aktionen? Grundsätzlich sehe ich zwei Möglichkeiten:

Die Verwendung eines Lambda-Ausdrucks:
string message = "Hallo Welt!";
form.Invoke(new MethodInvoker(() => MessageBox.Show(message)));

Die Verwendung einer anonymen Methode:
string message = "Hallo Welt!";
form.Invoke(new MethodInvoker(delegate { MessageBox.Show(message); }));

Für den Lambda-Ausdruck spricht meiner Meinung, dass er etwas kürzer ist und Lambda-Ausdrücke durchgänging anonyme Methoden ersetzen würden.
Für die anonyme Methode und gegen den Lambda-Ausdruck spricht, dass keine Syntax der funktionalen Programmierung verwendet werden sollte, um eine der funktionalen Programmierung fremde parameterlose Methode ohne Rückgabewert (Ja, MessageBox.Show() hat einen Rückgabewert.) aufzurufen.

Wie seht Ihr das?
News:
09.06.2011
m.beetz 41 2
2 Antworten
2
Hallo,

ich hab mir darüber noch nie wirklich Gedanken gemacht, aber verwenden tue ich
string message = "Hallo Welt";
Action uiAction = () => MessageBox.Show(message);
form.Invoke(uiAction);


mfG Gü
09.06.2011
gfoidl 9,4k 3 5
1
Lambdas sparen Code gegenüber delegate-Funktionen (kein delegate-Schlüsselwort, keine geschweiften Klammern und Semikolon bei Ausdrucks-Lambdas erforderlich):

var prädikat = lambda => erhöhteLesbarkeit(lambda);
11.03.2012
Wolfgang R. 61 3

Stelle deine .net-Frage jetzt!