//класс, который фильтрует объекты //идея фильтрации в том, чтобы применить фильтр к каждому объекту в исходной коллекции и вернуть результат //в самом просто мварианте оно просто включает в выход те элементы, что выдают true при вычислении filteringExpression public FiltrationMachinePattern(Lib.Filter _filter) { filter = _filter; //ComparerRule comparer = new ComparerRule(); foreach (Lib.Filter.FilteringRule fr in filter.filteringRuleList) { ComparerRule c = new ComparerRule(); c.filteringRule = fr; comparerRuleList.Add(c); } }
private string getFilteringRuleValueByOrder_matchEval(Match m) { char[] charsToTrim = { 'B', 'E' }; int no = Convert.ToInt32(m.Value.Trim(charsToTrim)); //возвращает значение true/false по номеру правила ComparerRule tmp = comparerRuleList.Where(obj => obj.filteringRule.ruleOrder == no).First(); if (tmp != null) { return(" " + tmp.filteringRuleValue.ToString() + " "); } else { return(" false "); } }