SuccessEvent

用于在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;
}