【发布时间】:2011-07-04 16:26:33
【问题描述】:
这行代码尝试将 lambda 表达式分配给 LambaExpression 类型变量,
LambdaExpression expr = n => n;
编译错误信息失败:
无法转换 lambda 要键入的表达式 'System.Linq.Expressions.LambdaExpression' 因为它不是代表 输入
所以它需要是一个委托类型。从概念上讲,这对我来说似乎很奇怪,因为我可以使用这样的工厂方法构建一个 LambdaExpression 实例。
工厂 Lambda from MSDN
LambdaExpression lambdaExpr = Expression.Lambda(
Expression.Add(
paramExpr,
Expression.Constant(1)
),
new List<ParameterExpression>() { paramExpr }
);
这不是委托类型。
这让我们想知道为什么 lambda to LambaExpression 不能工作?
【问题讨论】: