Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="3.1.0-preview-536" />

 ContainerConfiguration

public class ContainerConfiguration
Represents a container configuration
using Stashbox.Lifetime; using Stashbox.Registration.Fluent; using System; using System.Collections.Generic; using System.Reflection; namespace Stashbox.Configuration { public class ContainerConfiguration { public bool TrackTransientsForDisposalEnabled { get; set; } public Rules.RegistrationBehavior RegistrationBehavior { get; set; } public bool CircularDependencyTrackingEnabled { get; set; } public bool RuntimeCircularDependencyTrackingEnabled { get; set; } public bool OptionalAndDefaultValueInjectionEnabled { get; set; } public bool UnknownTypeResolutionEnabled { get; set; } public bool MemberInjectionWithoutAnnotationEnabled { get; set; } public bool CircularDependenciesWithLazyEnabled { get; set; } public bool TreatingParameterAndMemberNameAsDependencyNameEnabled { get; set; } public bool NamedDependencyResolutionForUnNamedRequestsEnabled { get; set; } public bool ForceUseMicrosoftExpressionCompiler { get; set; } public Rules.AutoMemberInjectionRules MemberInjectionWithoutAnnotationRule { get; set; } public Func<IEnumerable<ConstructorInfo>, IEnumerable<ConstructorInfo>> ConstructorSelectionRule { get; set; } public Action<RegistrationConfigurator> UnknownTypeConfigurator { get; set; } public Action<ContainerConfiguration> ConfigurationChangedEvent { get; set; } public Func<MemberInfo, bool> MemberInjectionFilter { get; set; } public LifetimeDescriptor DefaultLifetime { get; set; } internal static ContainerConfiguration DefaultContainerConfiguration() { return new ContainerConfiguration { ConstructorSelectionRule = Rules.ConstructorSelection.PreferMostParameters, DefaultLifetime = Lifetimes.Transient }; } internal ContainerConfiguration() { } } }