我必须过滤一个对象列表。
过滤器应由用户使用逻辑OR / AND运算符组成,并使用括号进行分组。
说,像这样:
说,我们有对象MyObj及其属性Prop1,Prop2,Prop3
拥有myObjList用户可以过滤Prop1 == aValue AND Prop2< otherValue OR Prop2> thirdvalue
是否有一些已知的(反射)机制允许管理这种过滤操作?
答案 0 :(得分:1)
您可以使用动态linq在运行时agaist对象列表中构造过滤器语句。
以下是Scott Guthrie博客的link解释实施情况。
答案 1 :(得分:1)
构建表达式树,然后编译它们以给你一个委托,你可以将它应用于你想要过滤的对象。
MSDN有一些介绍性报道:http://msdn.microsoft.com/en-us/library/bb397951.aspx
答案 2 :(得分:0)
这是另一个link来实现动态linq,使用更多的specification pattern。