2013-08-22 1 views
0

En supposant que j'ai une méthode comme celui-ci (ma méthode actuelle fait plus — j'ai simplifié le code ici):Lambda Expression sans argument

protected void Run(Action a) 
{ 
    a(); 
} 

Je peux alors appeler avec le code comme ceci:

Run(myAction); 

Mais comment créer une méthode en ligne pour passer des arguments à mon action. Le code suivant produit un argument non valide erreur:

Run(myAction(arg1, arg2)); 

Je suis habitué à le faire avec des actions qui sont passés un argument en utilisant une expression lambda comme arg => myAction(arg), mais ici aucun argument est passé. Alors, quelle serait la syntaxe appropriée?

Répondre

4
Run(()=>myAction(arg1, arg2)); 
+0

D'oh. Tellement évident. Merci. –