Stashbox by Peter Csajtai

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

 ContainerConfigurator

public class ContainerConfigurator
Represents a container configurator.

The container configuration.

Sets a callback delegate to call when the container configuration changes.

Enables conventional resolution, which means the container treats the constructor/method parameter or member names as dependency names used by named resolution.

public ContainerConfigurator WithAutoMemberInjection(AutoMemberInjectionRules rule = 4, Func<MemberInfo, bool> filter = null, bool enabled = true)

Enables the member injection without annotation.

Allows circular dependencies through Lazy objects.

Sets the constructor selection rule.

Sets the default lifetime, used when a service doesn't have a configured one.

Enables the default value injection.

Enables or disables the tracking of disposable transient objects.

Forces the usage of an external expression tree compiler.

public ContainerConfigurator WithLifetimeValidation(bool enabled = true)

Enables the life-span and root resolution validation on the dependency tree.

Forces the usage of Microsoft expression compiler to compile expression trees.

Enables the resolution of a named registration when a request ha been made without dependency name but with the same type.

Sets the actual behavior used when a new service is going to be registered into the container. See the RegistrationBehavior enum for available options.

Enables or disables the runtime circular dependency tracking which means that the container generates checking calls into the expression tree to detect recursive references even in factory delegates passed by the user during the registration.

Enables the unknown type resolution.