private static IServiceCollection Inject(ServiceAggregator injectionData, ServiceLifetime serviceLifetime) { foreach (MappedImplementation item in injectionData.mappedImplementations) { injectionData.services.Add(new ServiceDescriptor(item.abstraction, item.implementation, serviceLifetime)); } return(injectionData.services); }
/// <summary> /// Register mapped services as scoped /// </summary> /// <param name="injectionData">Mapped services</param> /// <returns></returns> public static IServiceCollection AsScoped(this ServiceAggregator injectionData) => Inject(injectionData, ServiceLifetime.Scoped);
/// <summary> /// Register mapped services as singleton /// </summary> /// <param name="injectionData">Mapped services</param> /// <returns></returns> public static IServiceCollection AsSingleton(this ServiceAggregator injectionData) => Inject(injectionData, ServiceLifetime.Singleton);
/// <summary> /// Register mapped services as transient /// </summary> /// <param name="injectionData">Mapped services</param> /// <returns></returns> public static IServiceCollection AsTransient(this ServiceAggregator injectionData) => Inject(injectionData, ServiceLifetime.Transient);