ModelBuilder.BuildConfigurationExtensions.Clone C# (CSharp) Method

Clone() public static method

Clones the specified builder strategy and returns a compiler.
The parameter is null.
public static Clone ( this configuration ) : IBuildStrategyCompiler
configuration this The build configuration to create the instance with.
return IBuildStrategyCompiler
        public static IBuildStrategyCompiler Clone(this IBuildConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            var compiler = new BuildStrategyCompiler
            {
                ConstructorResolver = configuration.ConstructorResolver
            };

            foreach (var executeOrderRule in configuration.ExecuteOrderRules)
            {
                compiler.ExecuteOrderRules.Add(executeOrderRule);
            }

            foreach (var ignoreRule in configuration.IgnoreRules)
            {
                compiler.IgnoreRules.Add(ignoreRule);
            }

            foreach (var typeCreator in configuration.TypeCreators)
            {
                compiler.TypeCreators.Add(typeCreator);
            }

            foreach (var valueGenerator in configuration.ValueGenerators)
            {
                compiler.ValueGenerators.Add(valueGenerator);
            }

            return compiler;
        }
    }
BuildConfigurationExtensions