Еще один путь, который вы можете исследовать, - это использование составных выражений. Эти выражения (которые являются основой работы LINQ в .NET Framework) позволяют создавать деревья выражений на основе всех этих условий, а затем код бизнес-логики может просто работать с выражением верхнего уровня, чтобы получить результат «истина / ложь». .
Для оценки выражений вы можете использовать шаблон посетителей
Это позволяет легко составлять деревья условий. эти деревья могут быть сериализованы даже для того, чтобы вы могли сохранить условия, при которых вы приняли решение. Здесь есть много возможностей.
Я обнаружил, что удаление с помощью (new Tracer («Отладка»))
и добавление log.Categories.Add («Отладка»);
к описанному выше методу дала желаемые результаты.