心中已經建立的方法來動態構建這樣的表達,下面是我的代碼:如何獲得建立表達式(C => c.user.code ==「XXX」)動態
public static Expression<Func<T, bool>> BuildStringEqualLambda(string propertyName, string propertyValue)
{
ParameterExpression parameterExp = Expression.Parameter(typeof(T), "type");
Expression propertyExp = Expression.Property(parameterExp, propertyName);
Expression right = Expression.Constant(propertyValue);
Expression e1 = Expression.Equal(propertyExp, right);
return Expression.Lambda<Func<T, bool>>(e1, new ParameterExpression[] { parameterExp });
}
但是,如果拉姆達像
c=>c.user.code == 'XXX'
,我調用方法如下圖所示:
BuildStringEqualLambda("user.code","XXX");
的方法報告錯誤。
所以我的問題是如何獲得建設表達式(C => c.user.code == 'XXX')動態
「該方法無法處理它。」你甚至認爲這是什麼意思? –