/// <summary> /// Add configuration module /// </summary> /// <param name="module"></param> public void AddModule(IConfigurationModule module) { if (module == null) { throw new ArgumentNullException(nameof(module)); } module.Configure(this); }
/// <summary> /// Adds configuration provided by the specified configuration module. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="module">The module.</param> /// <returns>The configuration.</returns> /// <exception cref="ArgumentNullException">The <paramref name="configuration" /> parameter is <c>null</c>.</exception> /// <exception cref="ArgumentNullException">The <paramref name="module" /> parameter is <c>null</c>.</exception> public static IBuildConfiguration Add(this IBuildConfiguration configuration, IConfigurationModule module) { configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); module = module ?? throw new ArgumentNullException(nameof(module)); module.Configure(configuration); return(configuration); }
/// <summary> /// Registers a new format provider. /// </summary> /// <param name="configuration">The configuration provider to call configure on.</param> public void Configure(IConfigurationModule configuration) { Guard.NotNull(configuration, nameof(configuration)); configuration.Configure(this); }
private void ConfigureModule(IExportRegistrationBlock registrationBlock, IConfigurationModule configurationModule, IEnumerable<PropetryElement> element) { foreach (PropetryElement propertyElement in element) { PropertyInfo propertyInfo = configurationModule.GetType().GetRuntimeProperty(propertyElement.Name); if (propertyInfo != null && propertyInfo.CanWrite) { object finalValue = null; if (propertyInfo.PropertyType == typeof(string)) { finalValue = propertyElement.Value; } else { finalValue = Convert.ChangeType(propertyElement.Value, propertyInfo.PropertyType); } if (finalValue != null) { propertyInfo.SetValue(configurationModule, finalValue); } } } configurationModule.Configure(registrationBlock); }
public void RegisterConfigurationModule(IConfigurationModule module) { module.Configure(this); }