/// <summary> /// Add a module to the container. /// </summary> /// <param name="builder">The builder to register the module with.</param> /// <typeparam name="TModule">The module to add.</typeparam> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="builder"/> is <see langword="null"/>. /// </exception> /// <returns> /// The <see cref="IModuleRegistrar"/> to allow /// additional chained module registrations. /// </returns> public static IModuleRegistrar RegisterModule <TModule>(this ContainerBuilder builder) where TModule : IModule, new() { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var registrar = new ModuleRegistrar(builder); return(registrar.RegisterModule <TModule>()); }
public void RegisterModule_ChainsModuleRegistrations() { var builder = new ContainerBuilder(); var registrar = new ModuleRegistrar(builder); registrar.RegisterModule(new ModuleA()).RegisterModule(new ModuleB()); var container = builder.Build(); var strings = container.Resolve <IEnumerable <string> >(); Assert.Contains("foo", strings); Assert.Contains("bar", strings); }
/// <summary> /// Add a module to the container. /// </summary> /// <param name="builder">The builder to register the module with.</param> /// <param name="module">The module to add.</param> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="builder"/> or <paramref name="module"/> is <see langword="null"/>. /// </exception> /// <returns> /// The <see cref="IModuleRegistrar"/> to allow /// additional chained module registrations. /// </returns> public static IModuleRegistrar RegisterModule(this ContainerBuilder builder, IModule module) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (module == null) { throw new ArgumentNullException(nameof(module)); } var registrar = new ModuleRegistrar(builder); return(registrar.RegisterModule(module)); }
public void RegisterModule_RequiresModule() { var registrar = new ModuleRegistrar(new ContainerBuilder()); Assert.Throws <ArgumentNullException>(() => registrar.RegisterModule(null)); }