【发布时间】:2011-08-10 06:38:17
【问题描述】:
我有这个使用 Linq 表达式的函数:
private Expression GetFieldValueExpression(ParameterExpression parameter, string fieldName)
{
Expression properyIndexExpression = System.Linq.Expressions.Expression.Constant (fieldName, typeof(string));
IndexExpression fieldValueExpression = System.Linq.Expressions.Expression.Property(parameter, "Item", new Expression[] { properyIndexExpression });
return Expression.Property(fieldValueExpression, "Value");
}
Expression.Property(fieldValueExpression, "Value") 返回的值是字符串类型。
我不知道如何获得它。我知道我必须创建一个 lambda 并编译它,但我不知道如何。
感谢您的宝贵时间。
【问题讨论】:
-
对不起,您无法获得财产价值是什么意思?你声称是字符串类型的?
-
我需要获取这个方法返回的表达式的值。但我不知道怎么做。
-
您能告诉我们,返回的方法是什么,或者您是否遇到任何错误/异常?
-
此方法返回一个 System.Linq.Expressions.Expression 变量。没有错误。在下一步中,我需要执行这个表达式。
标签: c# .net linq lambda expression-trees