public LocalizationSettings(IFileResourcesDirectoryValidator fileResourcesDirectoryValidator, ILoggerFactory loggerFactory, IOptionsMonitor <LocalizationOptions> optionsMonitor, ILocalizationOptionsResolver optionsResolver) { this.FileResourcesDirectoryValidator = fileResourcesDirectoryValidator ?? throw new ArgumentNullException(nameof(fileResourcesDirectoryValidator)); this.Logger = (loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory))).CreateLogger(this.GetType()); if (optionsMonitor == null) { throw new ArgumentNullException(nameof(optionsMonitor)); } var options = optionsMonitor.CurrentValue ?? throw new ArgumentException("The current value of the options-monitor can not be null.", nameof(optionsMonitor)); this.OptionsResolver = optionsResolver ?? throw new ArgumentNullException(nameof(optionsResolver)); var resolvedOptions = optionsResolver.Resolve(options); this._alphabeticalSorting = resolvedOptions.AlphabeticalSorting; this._configuredEmbeddedResourceAssemblies = resolvedOptions.EmbeddedResourceAssemblies; this._fileResourcesDirectory = resolvedOptions.FileResourcesDirectory; this._includeParentCultures = resolvedOptions.IncludeParentCultures; this._throwErrors = resolvedOptions.ThrowErrors; var observableCollection = new ObservableSetCollection <IAssembly> { resolvedOptions.EmbeddedResourceAssemblies }; observableCollection.CollectionChanged += this.OnEmbeddedResourceAssembliesCollectionChanged; this.EmbeddedResourceAssemblies = observableCollection; this.OptionsChangeListener = optionsMonitor.OnChange(this.OnOptionsChanged); }
public LocalizationOptionsResolver(IAssemblyHelper assemblyHelper, IEmbeddedResourceAssembliesValidator embeddedResourceAssembliesValidator, IFileResourcesDirectoryValidator fileResourcesDirectoryValidator, IFileSystem fileSystem, IHostEnvironment hostEnvironment) { this.AssemblyHelper = assemblyHelper ?? throw new ArgumentNullException(nameof(assemblyHelper)); this.EmbeddedResourceAssembliesValidator = embeddedResourceAssembliesValidator ?? throw new ArgumentNullException(nameof(embeddedResourceAssembliesValidator)); this.FileResourcesDirectoryValidator = fileResourcesDirectoryValidator ?? throw new ArgumentNullException(nameof(fileResourcesDirectoryValidator)); this.FileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); this.HostEnvironment = hostEnvironment ?? throw new ArgumentNullException(nameof(hostEnvironment)); }