public static DependencyResolverOptions AddAttributeHandler <T>(this DependencyResolverOptions options, Func <ILogger <T>, T> createHandler) where T : IAttributeServiceDescriptorHandler { var logger = options.BuildLogger <T>(); var handler = createHandler(logger); options.Handlers.Add(handler); return(options); }
public static DependencyResolverOptions AddProvider <T>(this DependencyResolverOptions options, Func <ILogger <T>, DependencyResolverOptions, T> createProvider) where T : IServiceDescriptorProvider { var logger = options.BuildLogger <T>(); var provider = createProvider(logger, options); options.Providers.Add(provider); return(options); }
private static DependencyResolverOptions BuildDefaultOptions() { var options = new DependencyResolverOptions { LoggerFactory = new NullLoggerFactory(), AssemblyResolvingStrategy = new DefaultAssemblyResolvingStrategy(), }; options.AddAttributeHandler <FactoryServiceDescriptorHandler>(logger => new FactoryServiceDescriptorHandler(logger)); options.AddAttributeHandler <InjectAllServiceDescriptorHandler>(logger => new InjectAllServiceDescriptorHandler(logger)); options.AddAttributeHandler <InjectAsServiceDescriptorHandler>(logger => new InjectAsServiceDescriptorHandler(logger)); options.AddAttributeHandler <InjectMatchingServiceDescriptorHandler>(logger => new InjectMatchingServiceDescriptorHandler(logger)); options.AddProvider <AttributeServiceDescriptorProvider>((logger, strategy) => new AttributeServiceDescriptorProvider(logger, options.Handlers, strategy)); return(options); }
public static ILogger <T> BuildLogger <T>(this DependencyResolverOptions options) { return(options.LoggerFactory.CreateLogger <T>()); }
public static DependencyResolverOptions SetLogging(this DependencyResolverOptions options, ILoggerFactory factory) { options.LoggerFactory = factory; return(options); }
public static DependencyResolverOptions SetTypeStrategy(this DependencyResolverOptions options, ITypeResolvingStrategy strategy) { options.TypeResolvingStrategy = strategy; return(options); }
public static DependencyResolverOptions SetAssemblyStrategy(this DependencyResolverOptions options, IAssemblyResolvingStrategy strategy) { options.AssemblyResolvingStrategy = strategy; return(options); }