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