Stashbox by Peter Csajtai

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

 FluentServiceConfigurator<TConfigurator>

public class FluentServiceConfigurator<TConfigurator> : BaseFluentConfigurator<TConfigurator>, IFluentServiceConfigurator<TConfigurator>, IBaseFluentConfigurator<TConfigurator> where TConfigurator : FluentServiceConfigurator<TConfigurator>
Represents the fluent service registraton api.
public TConfigurator AsImplementedTypes()

public TConfigurator AsServiceAlso(Type serviceType)

public TConfigurator DefinesScope(object scopeName = null)

public TConfigurator InNamedScope(object scopeName)

public TConfigurator InScopeDefinedBy(Type type)

public TConfigurator InScopeDefinedBy<TScopeDefiner>()

public TConfigurator SetImplementationType(Type implementationType)

public TConfigurator When(Func<TypeInformation, bool> resolutionCondition)

public TConfigurator WhenDependantIs<TTarget>()

public TConfigurator WhenDependantIs(Type targetType)

public TConfigurator WhenHas<TAttribute>() where TAttribute : Attribute

public TConfigurator WhenHas(Type attributeType)

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

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

public TConfigurator WithInstance(object instance, bool wireUp = false)

public TConfigurator WithLifetime(LifetimeDescriptor lifetime)

public TConfigurator WithName(object name)

public TConfigurator WithPerResolutionRequestLifetime()

public TConfigurator WithScopedLifetime()

public TConfigurator WithSingletonLifetime()