我有一個名為 SearchDetails 的對象,其中包含:SearchDetails: { ColName: "StrName" SearchVal" "mega" }我正在使用反射方法制作通用的 lambda 表達式。 public dynamic searchMethod(object SearchDetails) { ParameterExpression Parameter = Expression.Parameter(typeof(SearchDetails), "x"); var searchCol = Expression.Property( Parameter, SearchDetails.GetType().GetProperty("ColName") ); var colVal = Expression.Property( Parameter, SearchDetails.GetType().GetProperty("SearchValue").Name ); Expression contMethod = Expression.Call(searchCol, "Contains", null, colVal); Expression<Func<SearchDetails, bool>> lambda = Expression.Lambda<Func<SearchDetails, bool>>(contMethod, Parameter); return lambda; }問題是我得到的 lambda 表達式如下:{x => x.ColName.Contains(x.SearchValue)}但是,我希望它是這樣的:{x => x.StrName.Contains("megabrand")}. 我無法訪問屬性的值:ColName 和 SearchValue。如何解決這個問題呢?
- 1 回答
- 0 關注
- 290 瀏覽
添加回答
舉報
0/150
提交
取消