Func<Product, bool> predicate = m => m.Id == 1; Expression<Func<Product,bool>> expression = m => predicate(m); 不知道这个样写可不可以
Func<Product, bool> predicate = m => m.Id == 1; Expression<Func<Product,bool>> expression = m => predicate(m);
也就是说无法通过委托构建表达式了
引用 6 楼 gaogar2008 的回复: 应该是func是一个Func<TEntity, bool>,exp是一个Expression<Func<TEntity, bool>>,其中这个TEntity和bool是一致的。 Func<TEntity, bool>只是一个委托,Expression<Func<TEntity, bool>>才是表达式。 一个类比与程序执行结果,一个类比与源程序……
应该是func是一个Func<TEntity, bool>,exp是一个Expression<Func<TEntity, bool>>,其中这个TEntity和bool是一致的。
引用 4 楼 gaogar2008 的回复: 是的,func也是Expression<Func<TEntity, bool>>,应该如何操作? 你这个需求不需要修改啊 C# code ? 1 Expression<Func<TEntity, bool>> exp = func; 就可以了,如果要修改,应该是调用Expression.XXX这些函数重新构造
是的,func也是Expression<Func<TEntity, bool>>,应该如何操作?
Expression<Func<TEntity, bool>> exp = func;
除非你的func也是Expression<Func<TEntity, bool>>才能修改,否则它只是一个委托(函数指针)
17,741
社区成员
24,334
社区内容
加载中
试试用AI创作助手写篇文章吧