Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="2.9.0-preview-518" />

 IFluentServiceConfigurator<TConfigurator>

public interface IFluentServiceConfigurator<TConfigurator> : IBaseFluentConfigurator<TConfigurator> where TConfigurator : IFluentServiceConfigurator<TConfigurator>
TConfigurator AsImplementedTypes()

TConfigurator AsServiceAlso(Type serviceType)

TConfigurator DefinesScope(object scopeName = null)

TConfigurator InNamedScope(object scopeName)

TConfigurator InScopeDefinedBy(Type type)

TConfigurator InScopeDefinedBy<TScopeDefiner>()

TConfigurator When(Func<TypeInformation, bool> resolutionCondition)

TConfigurator WhenDependantIs<TTarget>()

TConfigurator WhenDependantIs(Type targetType)

TConfigurator WhenHas<TAttribute>() where TAttribute : Attribute

TConfigurator WhenHas(Type attributeType)

TConfigurator WithFactory(Func<object> singleFactory, bool isCompiledLambda = false)

TConfigurator WithFactory(Func<IDependencyResolver, object> containerFactory, bool isCompiledLambda = false)

TConfigurator WithInstance(object instance, bool wireUp = false)

TConfigurator WithLifetime(ILifetime lifetime)

TConfigurator WithName(object name)

TConfigurator WithScopedLifetime()

TConfigurator WithSingletonLifetime()