Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 /// <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);
 }
Ejemplo n.º 4
0
        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);
 }