C # Lambda Functions: renvoyer des données
Suis-je raté quelque chose ou n'est-il pas possible de retourner une valeur à partir d'une fonction lambda comme..
Object test = () => { return new Object(); };
ou
string test = () => { return "hello"; };
Je reçois une erreur "Impossible de convertir l'expression lambda de type 'string', car il n'est pas un type délégué".
C'est comme cette syntaxe attribue le lambda plutôt que le résultat de la lambda, je ne m'attendais pas.
Je peux obtenir la fonctionnalité souhaitée par l'affectation de la fonction à une touche Func et l'appeler par son nom, mais est-ce le seul moyen?
S'il vous plaît pas "pourquoi voudriez-vous faire cela?" au sujet de mon exemple.
Merci d'avance!
source d'informationauteur Drew R
Vous devez vous connecter pour publier un commentaire.
C'est possible, mais vous essayez d'affecter un lambda à une
string
. – Vous avez besoin de invoquer le lambda:Le message d'erreur dit tout fait:
... c'est exactement la question ici.
Si vous voulez invoquer le lambda –cylindres en ligne mais vraiment: pourquoi? – vous pouvez le faire aussi, vous avez juste besoin d'abord de faire un délégué explicitement: