public static StateConfiguration <TState, TTrigger> PermitIf <TState, TTrigger>( StateConfiguration <TState, TTrigger> config, Func <bool> predicate, TTrigger trigger, TState resultingState, Action onTriggerAction) { Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction)); return(config.PermitIf(predicate, trigger, resultingState, t => onTriggerAction())); }
public static StateConfiguration <TState, TTrigger> PermitIf <TArgument, TState, TTrigger>( this StateConfiguration <TState, TTrigger> config, Func <bool> predicate, ParameterizedTrigger <TTrigger, TArgument> trigger, TState resultingState, Action <TArgument> onTriggerAction) { Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction)); return(config.PermitIf(predicate, trigger, resultingState, (t, a) => onTriggerAction(a))); }