public ActionPipelineStep(string name, IPipelineStep <TOutput> input, Action <TOutput> action) { Name = name ?? throw new ArgumentNullException(nameof(name)); Input = input ?? throw new ArgumentNullException(nameof(input)); Action = action ?? throw new ArgumentNullException(nameof(action)); Signaler.RegisterMultiple(this, Input); }
public BinaryOperationPipelineStep(string name, IPipelineStep <TInput1> input1, IPipelineStep <TInput2> input2, Func <TInput1, TInput2, TOutput> operation) { Name = name ?? throw new ArgumentNullException(nameof(name)); Input1 = input1 ?? throw new ArgumentNullException(nameof(input1)); Input2 = input2 ?? throw new ArgumentNullException(nameof(input2)); Operation = operation ?? throw new ArgumentNullException(nameof(operation)); Signaler = Input1.Signaler; Signaler.RegisterMultiple(this, Input1, Input2); }