/// <summary> /// Creates a step from definition /// </summary> /// <param name="controller">The hosting <see cref="IProgressController"/> for this step</param> /// <param name="definition">The <see cref="ProgressStepDefinition"/> for which to create the step</param> public ProgressControllerStep(IProgressController controller, ProgressStepDefinition definition) { if (controller == null) { throw new ArgumentNullException(nameof(controller)); } if (definition == null) { throw new ArgumentNullException(nameof(definition)); } this.controller = controller; this.definition = definition; this.Initialize(); }
public IProgressStepOperation CreateStepOperation(IProgressController controller, IProgressStepDefinition definition) { if (controller == null) { throw new ArgumentNullException(nameof(controller)); } ProgressStepDefinition supportedDefinition = definition as ProgressStepDefinition; if (supportedDefinition == null) { throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, ProgressResources.UnsupportedTypeException, definition.GetType().FullName, typeof(ProgressStepDefinition).FullName)); } ProgressControllerStep step = new ProgressControllerStep(controller, supportedDefinition); return(step); }