我不知道这是否可能……但它会很酷.问题是它是否可能,但如果可能的话,那就是一个例子.
我不确定您将使用什么方法签名来传递lambda表达式.
例如,方法IList< Group> GetGroups()
你如何修改它以便能够将lambda表达式传递给它?
接下来的问题是如何编写lambda表达式以返回所有Group对象,例如
>其中.deleted == false或
>其中.DateAdded>一个约会
是的,我想把月亮放在棍子上;)
提前致谢.
(编辑我认为这实际上有点不合理,因为实际上会获取数据的数据访问层…但是假设您正在通过服务查询某些对象集合而不必担心dal ).
解决方法
您可以使用Expression< Func< Group,bool>>类型的参数声明GetGroups方法,该参数表示组必须匹配才能返回的谓词:
IList<Group> GetGroups(Expression<Func<Group,bool>> predicateExpression);
问题是,表达式无法序列化,因此您无法将其发送到WCF服务……但是,您可能会找到一种方法来使用Expression Tree Serialization项目.