Интересно, можете ли вы создать и изменить Дерево выражений из существующего делегата.Преобразование делегата в дерево выражений
Любопытное нравится
public void Foo() {
Console.WriteLine(1000);
}
....
Expression exp = Foo.GetExpression();
//Now do something what changes 1000 to 2000...
Так что я хотел бы обратить инженер Allready excisting метод.
Моя проблема заключается в том, что у меня есть строительство, как это:
var acts = new Action[20];
for (int i = 0; i != 20; i++)
acts[i] =() => { Console.WriteLine(i); };
и по пути C# работает все действия, сделать то же самое (печатает 20). Но я хочу, чтобы что
acts[5]()
печати 5
acts[11]()
печатает 11 и так далее.
Так что мне нужно вычислить 20 разных делегатов, и мне интересно, что такое «хороший» подход. Конечно, я мог бы просто написать:
acts[0] =() => Console.WriteLine(0);
acts[1] =() => Console.WriteLine(1);
acts[2] =() => Console.WriteLine(2);
acts[3] =() => Console.WriteLine(3);
....
Но это не хороший подход, в моем eyey ...
Это будет иметь ту же проблему. –
Спасибо вам обоим! Это то, что я хотел знать :) – Rico