我有一個(gè)名為 SearchDetails 的對(duì)象,其中包含:SearchDetails: { ColName: "StrName" SearchVal" "mega" }我正在使用反射方法制作通用的 lambda 表達(dá)式。 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; }問(wèn)題是我得到的 lambda 表達(dá)式如下:{x => x.ColName.Contains(x.SearchValue)}但是,我希望它是這樣的:{x => x.StrName.Contains("megabrand")}. 我無(wú)法訪問(wèn)屬性的值:ColName 和 SearchValue。如何解決這個(gè)問(wèn)題呢?
- 1 回答
- 0 關(guān)注
- 288 瀏覽
添加回答
舉報(bào)
0/150
提交
取消