コード例 #1
0
 public ConditionActivity(StateMachineAsyncCondition <TInstance> condition, Behavior <TInstance> thenBehavior,
                          Behavior <TInstance> elseBehavior)
 {
     _condition    = condition;
     _thenBehavior = thenBehavior;
     _elseBehavior = elseBehavior;
 }
コード例 #2
0
 public ConditionalActivityBinder(Event @event, StateMachineAsyncCondition <TInstance> condition,
                                  EventActivities <TInstance> thenActivities, EventActivities <TInstance> elseActivities)
 {
     _thenActivities = thenActivities;
     _elseActivities = elseActivities;
     _condition      = condition;
     _event          = @event;
 }
コード例 #3
0
        public EventActivityBinder <TInstance, TData> IfElseAsync(StateMachineAsyncCondition <TInstance, TData> condition,
                                                                  Func <EventActivityBinder <TInstance, TData>, EventActivityBinder <TInstance, TData> > thenActivityCallback,
                                                                  Func <EventActivityBinder <TInstance, TData>, EventActivityBinder <TInstance, TData> > elseActivityCallback)
        {
            var thenBinder = GetBinder(thenActivityCallback);
            var elseBinder = GetBinder(elseActivityCallback);

            var conditionBinder = new ConditionalActivityBinder <TInstance, TData>(_event, condition, thenBinder, elseBinder);

            return(new DataEventActivityBinder <TInstance, TData>(_machine, _event, _filter, _activities, conditionBinder));
        }
コード例 #4
0
 EventActivityBinder <TInstance, TData> EventActivityBinder <TInstance, TData> .IfAsync(
     StateMachineAsyncCondition <TInstance, TData> condition,
     Func <EventActivityBinder <TInstance, TData>, EventActivityBinder <TInstance, TData> > activityCallback)
 {
     return(IfElseAsync(condition, activityCallback, _ => _));
 }