Alors, quand j'écris quelque chose comme çaQuelle est la différence entre une nouvelle Action() et une lambda?
Action action = new Action(()=>_myMessage = "hello");
Refactor Pro! Met en évidence cela comme une création de délégué redondant et me permet de le raccourcir à
Action action =() => _myMessage="hello";
Et cela fonctionne généralement bien. Habituellement, mais pas toujours. Par exemple, Rhino Mocks a une méthode d'extension nommée Do:
IMethodOptions<T> Do(Delegate action);
Ici, en passant dans les premiers travaux de version, mais la seconde ne fonctionne pas. Que se passe-t-il exactement sous les couvertures ici?
Votre deuxième bloc de code ne compile pas. Je reçois ce message "Impossible d'affecter l'expression lambda à une variable locale implicitement typée". Mais, si je remplace "var" par "Action" c'est le cas. –
Oui, vous avez raison, il ne peut pas être assigné à une variable implicitement typée, je l'éditerai. –