public ITargetInternal DoAsync <T1, T2, T3, T4>(Func <ITaskContextInternal, T1, T2, T3, T4, Task> targetAction, T1 param, T2 param2, T3 param3, T4 param4, Action <DoTaskAsync5 <T1, T2, T3, T4> > taskAction = null, TaskGroup taskGroup = null) { var task = new DoTaskAsync5 <T1, T2, T3, T4>(targetAction, param, param2, param3, param4); taskAction?.Invoke(task); AddTaskToTaskGroup(taskGroup, task, TaskExecutionMode.Parallel); return(this); }
public ITarget DoAsync <T1, T2, T3, T4>(Func <ITaskContextInternal, T1, T2, T3, T4, Task> targetAction, T1 param, T2 param2, T3 param3, T4 param4, Action <DoTaskAsync5 <T1, T2, T3, T4> > taskAction = null) { var task = new DoTaskAsync5 <T1, T2, T3, T4>(targetAction, param, param2, param3, param4); taskAction?.Invoke(task); Tasks.Add(new Tuple <ITask, TaskExecutionMode>(task, TaskExecutionMode.Parallel)); return(this); }