本文整理汇总了C#中RuleSet.AddRule方法的典型用法代码示例。如果您正苦于以下问题:C# RuleSet.AddRule方法的具体用法?C# RuleSet.AddRule怎么用?C# RuleSet.AddRule使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RuleSet
的用法示例。
在下文中一共展示了RuleSet.AddRule方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ShouldForwardChainRules
public void ShouldForwardChainRules()
{
var ruleBase = new RuleBase<Target>();
var ruleSet = new RuleSet<Target>();
var rule = new Rule<Target>("rule 1", "description of rule 1", t => t.Number == 0, t => t.Number = 1);
var rule2 = new Rule<Target>("rule 2", "", t => t.Number == 1, t => t.Number = 2);
ruleSet.AddRule(rule);
ruleSet.AddRule(rule2);
ruleBase.AddRuleSet(ruleSet);
var target = new Target();
var ruleEngine = new RuleEngine<Target>(ruleBase);
ruleEngine.Execute(target);
Assert.Equal(2, target.Number);
}
示例2: ShouldExecuteRuleEngineOnSeveralTargets
public void ShouldExecuteRuleEngineOnSeveralTargets()
{
var ruleBase = new RuleBase<Target>();
var ruleSet = new RuleSet<Target>();
var rule = new Rule<Target>("rule 1", "", t => t.Number == 0, t => t.Number = 1);
ruleSet.AddRule(rule);
ruleBase.AddRuleSet(ruleSet);
var ruleEngine = new RuleEngine<Target>(ruleBase);
var target = new Target();
ruleEngine.Execute(target);
Assert.Equal(1, target.Number);
var newTarget = new Target();
ruleEngine.Execute(newTarget);
Assert.Equal(1, newTarget.Number);
}