public static Iqueryable<TResult> WithFIEldlike<TResult>( this Iqueryable<TResult> query,Func<TResult,string> fIEld,string value){ Expression<Func<TResult,bool>> expr = trans => fIEld(trans).Contains(value); return query.Where(expr);}
我需要更改参数字段来键入:Expression>.会是这样的.
public static Iqueryable<TResult> WithFIEldlike<TResult>( this Iqueryable<TResult> query,Expression<Func<TResult,string>> fIEld,bool>> expr = ??? return query.Where(expr);}
这种方法的调用是:
var query7 = query.WithFIEldlike(trans => trans.DeviceModelNumber,"ber_3");
在这种情况下我应该如何构建“expr”?请帮忙.
解决方法 解构字段并创建一个新表达式,如下所示:var expr = Expression.Lambda<Func<TResult,bool>> ( Expression.Call (fIEld.Body,typeof (string).getmethod ("Contains"),Expression.Constant (value)),fIEld.Parameters) ;
(根据Maxs在评论中的细化编辑)
总结以上是内存溢出为你收集整理的c# – 将参数从lambda函数更改为lambda表达式全部内容,希望文章能够帮你解决c# – 将参数从lambda函数更改为lambda表达式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)