Auf der Suche nach einer einfachen Rules-Engine-Bibliothek in .NET [geschlossen]
Kennt jemand eine gute .NET Library Rules Library (idealerweise Open Source)? Ich brauche etwas, das verschachtelte logische Ausdrücke ausführen kann, z. B. (A UND B) UND (B ODER C ODER D). Ich muss Vergleiche von Objekteigenschaften durchführen, z. B. A.P1 UND B.P1. (Idealerweise könnte ich jede Eigenschaft vergleichen - A.P1 UND B.P2).
Es sollte die Regeln in einer Datenbank speichern (ich habe viele einfache konfigurierbare Logik). Und es sollte eine Regelerstellungs- / Verwaltungs-API haben. Das Management-Tool müsste die Instanzen untersuchen, um festzustellen, welche Eigenschaften verfügbar sind und welche Einschränkungen bestehen.
Vielen Dank!
Oh, noch eine Sache. Als Regel-Engine muss ich das Konzept der Aktionen (Befehle) einbinden. Folgendes wird ausgeführt, wenn der Ausdruck zurückgegeben wird:
If (expression.Evaluation) { actions.Execute(); }
Also sehe ich eine Regel als etwas wie:
class Rule
{
Expression Exp;
Actions[] Actions;
Run()
{
if(Exp.Evaluate())
{
foreach(action in Actions)
{
action.Execute();
}
}
}
}