相关疑难解决方法(0)

如何实现规则引擎?

我有一个存储以下内容的db表:

RuleID  objectProperty ComparisonOperator  TargetValue
1       age            'greater_than'             15
2       username       'equal'             'some_name'
3       tags           'hasAtLeastOne'     'some_tag some_tag2'
Run Code Online (Sandbox Code Playgroud)

现在说我有这些规则的集合:

List<Rule> rules = db.GetRules();
Run Code Online (Sandbox Code Playgroud)

现在我还有一个用户的实例:

User user = db.GetUser(....);
Run Code Online (Sandbox Code Playgroud)

我将如何循环这些规则,并应用逻辑并执行比较等?

if(user.age > 15)

if(user.username == "some_name")
Run Code Online (Sandbox Code Playgroud)

由于对象的属性如'age'或'user_name'存储在表中,以及比较操作符'great_than'和'equal',我怎么可能这样做?

C#是一种静态类型语言,因此不确定如何继续前进.

c# rule-engine dynamic

197
推荐指数
6
解决办法
8万
查看次数

标签 统计

c# ×1

dynamic ×1

rule-engine ×1