<分区>
我想构建以下表达式:
Expression<Func<T, object>>
我目前有以下代码:
public class Strategy<T>
{
private static Expression<Func<T, object>> GetIt(PropertyInfo propertyInfo)
{
ParameterExpression parameter = Expression.Parameter(typeof(T));
MemberExpression property = Expression.Property(parameter, propertyInfo);
Type funcType = typeof(Func<,>).MakeGenericType(typeof(T), typeof(object));
//next line fails: can't convert int to object
LambdaExpression lambda = Expression.Lambda(funcType, property, parameter);
Expression<Func<T, object>> retval = (Expression<Func<T, object>>)lambda;
return retval;
}
}
我的 PropertyInfo 对象的返回类型为“int”。 我如何在我的表达式中使用装箱?