Реализовать фильтр свойств в .NET - PullRequest
0 голосов
/ 11 августа 2011

Мне нужно отфильтровать список объектов.

Фильтр должен составляться пользователями, использующими логические операторы ИЛИ / И, и группироваться с использованием скобок.

скажем, что-то вроде этого:

enter image description here

Скажем, у нас есть объект MyObj и его свойства Prop1, Prop2, Prop3

Имея myObjList, пользователь может фильтровать элементы, у которых Prop1 == aValue И Prop2 третье значение

Существуют ли какие-либо известные (отражающие) механизмы, позволяющие управлять такого рода операциями фильтрации?

Ответы [ 3 ]

1 голос
/ 11 августа 2011

Создайте деревья выражений, затем скомпилируйте их, чтобы получить делегата, которого вы можете применить к объектам, которые хотите отфильтровать.

В MSDN есть вводный охват: http://msdn.microsoft.com/en-us/library/bb397951.aspx

1 голос
/ 11 августа 2011

Вы можете использовать динамический linq для построения операторов фильтра в списке объектов agaist во время выполнения.

Вот ссылка на блог Скотта Гатри, которая объясняет реализацию.

0 голосов
/ 11 августа 2011

Вот еще одна ссылка для реализации динамического linq, использующая более шаблон спецификации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...