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