C# - Lambda-Funktionen: zurückgeben von Daten
Bin ich etwas fehlt oder ist es nicht möglich, die Rückgabe eines Wertes aus einer lambda-Funktion wie..
Object test = () => { return new Object(); };
oder
string test = () => { return "hello"; };
Bekomme ich einen build-Fehler "Cannot convert lambda-Ausdruck zum Typ "string", da er kein delegattyp".
Es ist wie diese syntax weist den lambda-Ausdruck als vielmehr das Resultat der lambda, das hatte ich nicht erwartet.
Ich kann das erreichen der gewünschten Funktionalität durch die Zuweisung der Funktion zu einer Func und nennen es beim Namen, aber ist das die einzige Möglichkeit?
Bitte keine "warum würden Sie brauchen, um dies zu tun?" in Bezug auf mein Beispiel.
Vielen Dank im Voraus!
InformationsquelleAutor der Frage Drew R | 2013-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist möglich, aber Sie versuchen, zuweisen ein lambda-Ausdruck eine
string
. – Sie müssen aufrufen lambda:Die Fehlermeldung sagt eigentlich alles:
... das ist genau das Problem hier.
Wenn Sie aufrufen möchten, die lambda-inline – aber wirklich: warum? – Sie können das auch tun, die Sie gerade brauchen, um erste machen Sie es in ein Delegat explizit:
InformationsquelleAutor der Antwort Konrad Rudolph