我希望能够使用lambda表达式来指定要通过wcf服务返回的值范围

Joh*_*las 6 c# wcf lambda delegates

我不知道这是否可能......但它会很酷.问题是它是否可能,但如果可能的话,那就是一个例子.

我不确定您将使用什么方法签名来传递lambda表达式.

例如方法 IList<Group> GetGroups()

你如何修改它以便能够将lambda表达式传递给它?

接下来的问题是如何编写lambda表达式以返回所有Group对象,例如

  • where .deleted == false 要么
  • where .DateAdded > aDate

是的,我想把月亮放在棍子上;)先谢谢你.

(编辑我认为这实际上有点不合理,因为实际上会获取数据的数据访问层...但是假设您正在通过服务查询某些对象集合而不必担心dal ).

Tho*_*que 7

您可以GetGroups使用类型的参数声明方法,该参数Expression<Func<Group, bool>>表示组必须匹配才能返回的谓词:

IList<Group> GetGroups(Expression<Func<Group, bool>> predicateExpression);
Run Code Online (Sandbox Code Playgroud)

问题是,表达式无法序列化,因此您无法将其发送到WCF服务...但是,您可能会找到一种方法来使用表达式树序列化项目.