Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="2.8.8" />

 ContainerConfiguration

public class ContainerConfiguration
Represents a container configuration
using Stashbox.Entity; using Stashbox.Lifetime; using Stashbox.Registration.Fluent; using System; using System.Collections.Generic; namespace Stashbox.Configuration { public class ContainerConfiguration { public bool TrackTransientsForDisposalEnabled { get; set; } public bool SetUniqueRegistrationNames { 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<ConstructorInformation>, IEnumerable<ConstructorInformation>> ConstructorSelectionRule { get; set; } public Action<RegistrationConfigurator> UnknownTypeConfigurator { get; set; } public Action<ContainerConfiguration> ConfigurationChangedEvent { get; set; } public Func<TypeInformation, bool> MemberInjectionFilter { get; set; } public ILifetime DefaultLifetime { get; set; } internal static ContainerConfiguration DefaultContainerConfiguration() { return new ContainerConfiguration { ConstructorSelectionRule = Rules.ConstructorSelection.PreferMostParameters }; } internal ContainerConfiguration() { TrackTransientsForDisposalEnabled = false; CircularDependencyTrackingEnabled = false; OptionalAndDefaultValueInjectionEnabled = false; UnknownTypeResolutionEnabled = false; MemberInjectionWithoutAnnotationEnabled = false; CircularDependenciesWithLazyEnabled = false; SetUniqueRegistrationNames = false; TreatingParameterAndMemberNameAsDependencyNameEnabled = false; NamedDependencyResolutionForUnNamedRequestsEnabled = false; ForceUseMicrosoftExpressionCompiler = false; } } }