不知您是否可以从现有委托中创建和修改表达式树。将委托转换为表达式树
有点像
public void Foo() {
Console.WriteLine(1000);
}
....
Expression exp = Foo.GetExpression();
//Now do something what changes 1000 to 2000...
所以我想反向工程媒体链接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