Stashbox by Peter Csajtai

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

 IFluentServiceConfigurator<TService, TConfigurator>

public interface IFluentServiceConfigurator<TService, TConfigurator> : IFluentServiceConfigurator<TConfigurator>, IBaseFluentConfigurator<TConfigurator> where TConfigurator : IFluentServiceConfigurator<TService, TConfigurator>
Represents the generic fluent service registration api.
using System; using System.Linq.Expressions; namespace Stashbox.Registration.Fluent { public interface IFluentServiceConfigurator<TService, TConfigurator> : IFluentServiceConfigurator<TConfigurator>, IBaseFluentConfigurator<TConfigurator> where TConfigurator : IFluentServiceConfigurator<TService, TConfigurator> { TConfigurator WithFinalizer(Action<TService> finalizer); TConfigurator WithInitializer(Action<TService, IDependencyResolver> initializer); TConfigurator InjectMember<TResult>(Expression<Func<TService, TResult>> expression, object dependencyName = null); TConfigurator WithDependencyBinding<TDependency>(object dependencyName); TConfigurator AsServiceAlso<TAdditionalService>(); } }