void ExecuteSubroutine(Subroutine subroutine, CallParallel executeOption = CallParallel.NoParallel) { switch (executeOption) { case CallParallel.NoParallel: ActionSet.AddAction(Element.Part <A_CallSubroutine>(subroutine)); break; case CallParallel.AlreadyRunning_DoNothing: ActionSet.AddAction(Element.Part <A_StartRule>(subroutine, EnumData.GetEnumValue(IfAlreadyExecuting.DoNothing))); break; case CallParallel.AlreadyRunning_RestartRule: ActionSet.AddAction(Element.Part <A_StartRule>(subroutine, EnumData.GetEnumValue(IfAlreadyExecuting.RestartRule))); break; } }
public static void Execute(ActionSet actionSet, Subroutine subroutine, CallParallel callParallel = CallParallel.NoParallel) { switch (callParallel) { case CallParallel.NoParallel: actionSet.AddAction(Element.CallSubroutine(subroutine)); break; case CallParallel.AlreadyRunning_DoNothing: actionSet.AddAction(Element.StartRule(subroutine, false)); break; case CallParallel.AlreadyRunning_RestartRule: actionSet.AddAction(Element.StartRule(subroutine, true)); break; } }
void ExecuteSubroutine(IFunctionHandler function, CallParallel executeOption = CallParallel.NoParallel) => ExecuteSubroutine(function.GetSubroutineInfo().Subroutine);
public AsyncInfo(CallParallel parallelMode) { ParallelMode = parallelMode; }