用于在OnSuccess中作为参数返回
resultList.OnSuccess((eventName) => {
Console.WriteLine($"Result '{eventName}' is as expected.");
outcome = true;
});
如上代码,eventName,就有可能是SuccessEvent,源码如下
/// <summary>
/// Calls the Success Func for the first rule which succeeded among the ruleResults
/// </summary>
/// <param name="ruleResultTrees"></param>
/// <param name="onSuccessFunc"></param>
/// <returns></returns>
public static List<RuleResultTree> OnSuccess(this List<RuleResultTree> ruleResultTrees, OnSuccessFunc onSuccessFunc)
{
var successfulRuleResult = ruleResultTrees.FirstOrDefault(ruleResult => ruleResult.IsSuccess == true);
if (successfulRuleResult != null)
{
var eventName = successfulRuleResult.Rule.SuccessEvent ?? successfulRuleResult.Rule.RuleName;
onSuccessFunc(eventName);
}
return ruleResultTrees;
}