public HashCalculationServiceFactory( IReportingMultipleFileHasher hasher, ProgressReportingOperationRunner nonUiActionRunner) { this.hasher = hasher; this.nonUiActionRunner = nonUiActionRunner; }
/// <param name="progressReportingContext">A control that is used as a context for UI updates from an operation running on a separate thread</param> public HashCalcOnSeparateThreadService(IReportingMultipleFileHasher hasher, ProgressReportingOperationRunner nonUiActionRunner, Control progressReportingContext) { this.hasher = hasher ?? throw new ArgumentNullException(nameof(hasher)); this.nonUiActionRunner = nonUiActionRunner ?? throw new ArgumentNullException(nameof(nonUiActionRunner)); this.progressReportingContext = progressReportingContext ?? throw new ArgumentNullException(nameof(progressReportingContext)); }