/// <summary>See <see cref="PipelineTaskStep{TItem}"/>.</summary> /// <param name="executionCondition">See <see cref="ITaskStep.ExecutionCondition"/>. If null, <see cref="TaskStepUtils.DefaultExecutionCondition"/> will be used.</param> public static PipelineTaskStepBuilder <TItem> Pipeline <TItem>( this TaskStepBuilder _, string name = null, Func <TaskOutcome, bool> executionCondition = null) { var builder = new PipelineTaskStepBuilder <TItem>(); if (name != null) { builder = builder.WithName(name); } if (executionCondition != null) { builder = builder.WithExecutionCondition(executionCondition); } return(builder); }
/// <summary>Builds <see cref="BasicTaskStep"/>.</summary> /// <param name="body">Reported progress values should be between 0.0f and 1.0f (1.0f meaning 100%).</param> /// <param name="executionCondition">See <see cref="ITaskStep.ExecutionCondition"/>. If null, <see cref="TaskStepUtils.DefaultExecutionCondition"/> will be used.</param> public static BasicTaskStep Basic( this TaskStepBuilder _, string name, Action <IProgress <float>, CancellationToken> body, Func <TaskOutcome, bool> executionCondition = null) => new BasicTaskStep(name, body, executionCondition);
/// <summary>Builds <see cref="BasicTaskStep"/>.</summary> /// <param name="body">TaskOutcome parameter is most severe outcome among previous steps.</param> /// <param name="executionCondition">See <see cref="ITaskStep.ExecutionCondition"/>. If null, <see cref="TaskStepUtils.AlwaysExecuteCondition"/> will be used.</param> public static BasicTaskStep Basic( this TaskStepBuilder _, string name, Action <TaskOutcome> body, Func <TaskOutcome, bool> executionCondition = null) => new BasicTaskStep(name, body, executionCondition);