public static AwaitableStateConfiguration <TState, TTrigger> Permit <TState, TTrigger>(this AwaitableStateConfiguration <TState, TTrigger> config, TTrigger trigger, TState resultingState, Func <Task> onTriggerAction) { Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction)); return(config.Permit(trigger, resultingState, t => onTriggerAction())); }
public static AwaitableStateConfiguration <TState, TTrigger> Permit <TState, TTrigger, TArgument>(this AwaitableStateConfiguration <TState, TTrigger> config, ParameterizedTrigger <TTrigger, TArgument> trigger, TState resultingState, Func <TArgument, Task> onTriggerAction) { Contract.NotNull(onTriggerAction != null, nameof(onTriggerAction)); return(config.Permit(trigger, resultingState, (t, a) => onTriggerAction(a))); }
public static AwaitableStateConfiguration <TState, TTrigger> Permit <TState, TTrigger>(this AwaitableStateConfiguration <TState, TTrigger> config, TTrigger trigger, TState resultingState, Action onTriggerAction) { Contract.Requires <ArgumentNullException>(onTriggerAction != null, nameof(onTriggerAction)); return(config.Permit(trigger, resultingState, t => onTriggerAction())); }