2010-10-20 6 views

Répondre

8

Une fonction retournant rien est Action. En utilisant une expression lambda, vous pouvez écrire ceci:

Action GetFuncReturningVoid() { 
    return() => Console.Writeline("my action"); 
} 

Et si vous avez besoin d'accepter des arguments ...

Action<int, int> GetActionWithArguments() { 
    return (int x, int y) => Console.Writeline(x * y); 
} 

Ou vous pouvez laisser le compilateur déduire les types:

Action<int, int> GetActionWithArguments() { 
    return (x, y) => Console.Writeline(x * y); 
} 
1

En général, Action s sont des "actions": ils font quelque chose, mais ne retournent rien. Func s sont des «fonctions», au sens mathématique: elles transforment une valeur en une autre.

Donc, vous voulez quelque chose comme Action, ou Action<T> (pour un argument de type T), ou Action<T, U>, etc.

Questions connexes