C# RulesEngine 规则引擎:从入门到看懵( 五 )

定义 ReSettings,并在构建规则引擎时,传递进去:
var b = new Buyer{Age = 16};var reSettings = new ReSettings{CustomActions = new Dictionary<string, Func<ActionBase>>{{"MyCustomAction", () => new MyCustomAction() }}};var bre = new RulesEngine.RulesEngine(workflows.ToArray(), reSettings);List<RuleResultTree> resultList = await bre.ExecuteAllRulesAsync("Test", b);定义 JSON 规则:
[{ "WorkflowName": "Test", "Rules": [{"RuleName": "CheckAge","Expression": "Age <= 18 ","Actions": {"OnSuccess": {"Name": "MyCustomAction","Context": {"customContextInput": "0.9"}}} }]}]

C# RulesEngine 规则引擎:从入门到看懵

文章插图

推荐阅读