Парсер
От: nauro Украина  
Дата: 26.12.06 14:53
Оценка:
Привет.
Есть вопрос по парсеру System.Data.ExpressionParser. Этот клас есть internal, т.е. использовать его нельзя. Но рефлектором все прекрастно видно, и думаю что его можно "воссоздать" и даже откомпилить для своих нужд.
Вопрос №1: почему разработчики .нэт скрыли этот клас для использования в других сборках?
Вот. Занесло меня к этому парсеру по причине неверной (недоскональной) работы парсера DevExpress.XtraGrid.Filter.Parser.Parser. Этот парсер парсит выражение для фильтрации списка. Пришел я к такому выводу тогда, когда задал условие фильтра наподобии вот такого:
[Address]=ул. Ленина,5(напротив чего-то там)
Так вот, парсер DevExpress-а загинается по поводу скобок (я так думаю, потому как скобка есть оператор и он не понимает выражения "напротив чего-то там" хотя это не есть выражение а просто продолжение значения). Если же используется не DevExpress парсер, а .нэт-овский, тогда все чики. Но используется он только в одном случае, если список ваш (DataSource) есть DataView (проще говоря когда вы работаете с таблицами System.Data.DataTable). Но мне такой вариант не катит, у меня своя коллекция, и посему фильтр нужно реализовывать самому.
Вопрос №2: что еще можно предпринять в таком случае?
-----------------------------------------
тут может быть ваша реклама
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.