/// <summary> /// Initializes a new instance of the <see cref="AutofacBuilder" /> class. /// </summary> /// <param name="environment">The environment.</param> /// <param name="configuration">The configuration.</param> /// <param name="scanner">The scanner.</param> /// <param name="assemblyProvider">The assembly provider.</param> /// <param name="assemblyCandidateFinder">The assembly candidate finder.</param> /// <param name="services">The services.</param> /// <param name="containerBuilder">The container builder.</param> /// <param name="diagnosticSource">The diagnostic source</param> /// <param name="properties">The properties</param> /// <exception cref="ArgumentNullException"> /// environment /// or /// containerBuilder /// or /// configuration /// or /// services /// </exception> public AutofacBuilder( IRocketEnvironment environment, IConfiguration configuration, IConventionScanner scanner, IAssemblyProvider assemblyProvider, IAssemblyCandidateFinder assemblyCandidateFinder, IServiceCollection services, ContainerBuilder containerBuilder, ILogger diagnosticSource, IDictionary <object, object?> properties ) : base(scanner, assemblyProvider, assemblyCandidateFinder, properties) { Environment = environment ?? throw new ArgumentNullException(nameof(environment)); _containerBuilder = containerBuilder ?? throw new ArgumentNullException(nameof(containerBuilder)); Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); Services = services ?? throw new ArgumentNullException(nameof(services)); Logger = diagnosticSource ?? throw new ArgumentNullException(nameof(diagnosticSource)); _containerObservable = new GenericObservableObservable <IContainer>(Logger); _serviceProviderOnBuild = new GenericObservableObservable <IServiceProvider>(Logger); }