我应该如何将lambda表达式转换为代码(文本)?

时间:2014-12-10 17:45:24

标签: c# lambda

什么是适当的'或者'最好的'将System.Linq.LambdaExpression转换为可编译代码的方法?我有一种查询语言'我的应用程序将搜索表达式转换为lambda。我正在研究代码生成器,我正在尝试利用这种查询语言来生成验证表达式。 Expression.ToString()使用ExpressionStringBuilder,它将某些节点转换为有效C#以外的其他节点,例如' AndAlso'和' OrElse'而不是运算符&&||。理想情况下,我会覆盖ExpressionStringBuilder,但它是内部的。

1 个答案:

答案 0 :(得分:1)

您可以实现表达式树访问者将所有节点转换为代码。请参阅 How to: Implement an Expression Tree Visitor (MSDN)。