Je me demande si vous pouvez créer et modifier un arbre d'expression à partir d'un délégué existant.Transformer un délégué en arbre d'expression
Un peu comme
public void Foo() {
Console.WriteLine(1000);
}
....
Expression exp = Foo.GetExpression();
//Now do something what changes 1000 to 2000...
Je voudrais désosser une méthode excisting allready.
Mon problème est que j'ai une construction comme celui-ci:
var acts = new Action[20];
for (int i = 0; i != 20; i++)
acts[i] =() => { Console.WriteLine(i); };
et par le # chemin C fonctionne tous les actes font la même chose (imprime 20). Mais je veux que que
acts[5]()
imprimer 5
acts[11]()
impressions 11 et ainsi de suite.
J'ai donc besoin de calculer 20 délégués différents et je me demande quelle est l'approche "sympa" pour le faire. Bien sûr, je pouvais écrire:
acts[0] =() => Console.WriteLine(0);
acts[1] =() => Console.WriteLine(1);
acts[2] =() => Console.WriteLine(2);
acts[3] =() => Console.WriteLine(3);
....
Mais ce n'est pas une bonne approche dans mon eyey ...
Cela aura le même problème. –
Merci à vous deux! C'était ce que je voulais savoir :) – Rico