Ищем простую библиотеку движков правил в .NET [закрыто]
Кто-нибудь знает хорошую библиотеку правил библиотеки .NET (в идеале с открытым исходным кодом)? Мне нужно что-то, что может делать вложенные логические выражения, например, (A И B) И (B ИЛИ C ИЛИ D). Мне нужно сделать сравнение свойств объекта, например, A.P1 И B.P1. (В идеале я мог бы сравнить любое свойство - A.P1 И B.P2).
Он должен хранить правила в базе данных (у меня много простой настраиваемой логики). И он должен иметь API для создания и управления правилами. Инструмент управления должен будет проверять экземпляры, чтобы определить, какие свойства доступны и какие существуют ограничения.
Спасибо!
О, еще одна вещь. Как движок правил, мне нужно включить концепцию действий (команд). Это то, что выполняется, когда выражение возвращается:
If (expression.Evaluation) { actions.Execute(); }
Так что я вижу правило как что-то вроде:
class Rule
{
Expression Exp;
Actions[] Actions;
Run()
{
if(Exp.Evaluate())
{
foreach(action in Actions)
{
action.Execute();
}
}
}
}