表达式树创建和ExpressionTree转换类型

时间:2010-09-15 12:43:21

标签: c# linq lambda expression-trees

我想说:

anything.where(x=>x.age == int.parse(txtage.text));

现在我知道int.parse(txtage.text)是ExpressionType.Convert类型的表达式

现在我想知道如何手动创建ExpressionType.Convert类型的表达式(以编程方式)

为什么?

因为我在层之间传递表达式并更改它的类型,我管理访问每个表达式并重建它除了

case ExpressionType.Convert:

任何想法?提前谢谢。

1 个答案:

答案 0 :(得分:4)

不,int.Parse(txtage.text)是方法调用,而不是转换表达式。您可以使用Expression.Call构建它。

但是,如果您执行想要构建转换表达式,请使用Expression.Convert