/// <summary> /// Builds a new <see cref="MixinConfiguration"/> from the declarative configuration information in the given assemblies. /// </summary> /// <param name="parentConfiguration">The parent configuration to derive the new configuration from (can be <see langword="null"/>).</param> /// <param name="assemblies">The assemblies to be scanned for declarative mixin information.</param> /// <returns>An mixin configuration inheriting from <paramref name="parentConfiguration"/> and incorporating the configuration information /// held by the given assemblies.</returns> /// <exception cref="ArgumentNullException">The <paramref name="assemblies"/> parameter is <see langword="null"/>.</exception> public static MixinConfiguration BuildConfigurationFromAssemblies(MixinConfiguration parentConfiguration, IEnumerable <Assembly> assemblies) { ArgumentUtility.CheckNotNull("assemblies", assemblies); var builder = new DeclarativeConfigurationBuilder(parentConfiguration); foreach (Assembly assembly in assemblies) { builder.AddAssembly(assembly); } return(builder.BuildConfiguration()); }
/// <summary> /// Builds a new <see cref="MixinConfiguration"/> from the declarative configuration information in the given types. /// </summary> /// <param name="parentConfiguration">The parent configuration to derive the new configuration from (can be <see langword="null"/>).</param> /// <param name="types">The types to be scanned for declarative mixin information.</param> /// <returns>A mixin configuration inheriting from <paramref name="parentConfiguration"/> and incorporating the configuration information /// held by the given types.</returns> /// <exception cref="ArgumentNullException">The <paramref name="types"/> parameter is <see langword="null"/>.</exception> public static MixinConfiguration BuildConfigurationFromTypes(MixinConfiguration parentConfiguration, IEnumerable <Type> types) { ArgumentUtility.CheckNotNull("types", types); var builder = new DeclarativeConfigurationBuilder(parentConfiguration); foreach (Type type in types) { if (!type.IsDefined(typeof(IgnoreForMixinConfigurationAttribute), false)) { builder.AddType(type); } } return(builder.BuildConfiguration()); }