摘要: 我们将一个表达式树比作一辆2轮自行车,那么body就是自行车骨架,parameter就是2个车轮。 好了,我们可以把上面代码中的lambd0和lambd1看成2辆双轮自行车。 我们在代码中想把这2辆双轮自行车拼接成一辆3人骑的4轮自行车,所以我们写了以下代码: Expression left = lambd0.Body; Expression right = lambd1.Body; 注意!这就是问题的关键所在,这里我们只是引用了这2个自行车的骨架,而不是复制!我们希望构造出的4轮自行车没有任何骨架,这2句只是说想引用已有的2个骨架,但问题就来了,已有的自行车骨架还连接着lambd0和lambd1的车轮,并不能被新的自行车所用,我们必须按照已有的骨架复制出一个一模一样的骨架才能被我们的新的4轮自行车所用。 阅读全文
posted @ 2010-12-06 16:00 Edward.Zhan 阅读(3676) 评论(10) 推荐(7) 编辑