public static IServiceContext AddDelegate <TService, TImplementation>(this IServiceContext serviceContext, Func <IServiceResolver, TImplementation> implementationDelegate, Lifetime lifetime = Lifetime.Transient) where TService : class where TImplementation : class, TService { serviceContext.Add(new DelegateServiceDefinition(typeof(TService), implementationDelegate, lifetime)); return(serviceContext); }
public static IServiceContext AddType(this IServiceContext serviceContext, Type serviceType, Type implementationType, Lifetime lifetime = Lifetime.Transient) { if (serviceContext == null) { throw new ArgumentNullException(nameof(serviceContext)); } serviceContext.Add(new TypeServiceDefinition(serviceType, implementationType, lifetime)); return(serviceContext); }
public static IServiceContext AddDelegate(this IServiceContext serviceContext, Type serviceType, Func <IServiceResolver, object> implementationDelegate, Lifetime lifetime = Lifetime.Transient) { serviceContext.Add(new DelegateServiceDefinition(serviceType, implementationDelegate, lifetime)); return(serviceContext); }
public static IServiceContext AddInstance <TService>(this IServiceContext serviceContext, TService implementationInstance) { serviceContext.Add(new InstanceServiceDefinition(typeof(TService), implementationInstance)); return(serviceContext); }
public static IServiceContext AddInstance(this IServiceContext serviceContext, Type serviceType, object implementationInstance) { serviceContext.Add(new InstanceServiceDefinition(serviceType, implementationInstance)); return(serviceContext); }