<分区>
有谁知道一个好的 .NET 库规则库(最好是开源的)?我需要一些可以执行嵌套逻辑表达式的东西,例如 (A AND B) AND (B OR C OR 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();
}
}
}
}