ServiceProviderBuilder
NexusLabs.Needlr.Injection.Bundle¶
ServiceProviderBuilder Class¶
Builds and configures an Microsoft.Extensions.DependencyInjection.IServiceCollection, scanning assemblies for injectable types and plugins.
Inheritance System.Object 🡒 ServiceProviderBuilder
Implements NexusLabs.Needlr.Injection.IServiceProviderBuilder
Methods¶
ServiceProviderBuilder.Build(IConfiguration) Method¶
Builds a new System.IServiceProvider using the discovered assemblies and a custom registration callback.
Parameters¶
config Microsoft.Extensions.Configuration.IConfiguration
The configuration to use for settings.
Implements Build(IConfiguration)
Returns¶
System.IServiceProvider
The built System.IServiceProvider.
ServiceProviderBuilder.Build(IServiceCollection, IConfiguration) Method¶
Builds a new System.IServiceProvider using the discovered assemblies and a custom registration callback.
public System.IServiceProvider Build(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.Configuration.IConfiguration config);
Parameters¶
services Microsoft.Extensions.DependencyInjection.IServiceCollection
The service collection to configure.
config Microsoft.Extensions.Configuration.IConfiguration
The configuration to use for settings.
Implements Build(IServiceCollection, IConfiguration)
Returns¶
System.IServiceProvider
The built System.IServiceProvider.
ServiceProviderBuilder.Build(IServiceCollection, IConfiguration, IReadOnlyList<Action<IServiceCollection>>) Method¶
Builds a new System.IServiceProvider using the provided Microsoft.Extensions.DependencyInjection.IServiceCollection and a custom registration callback.
public System.IServiceProvider Build(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.Configuration.IConfiguration config, System.Collections.Generic.IReadOnlyList<System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection>> postPluginRegistrationCallbacks);
Parameters¶
services Microsoft.Extensions.DependencyInjection.IServiceCollection
The service collection to configure.
config Microsoft.Extensions.Configuration.IConfiguration
The configuration to use for settings.
postPluginRegistrationCallbacks System.Collections.Generic.IReadOnlyList<System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection>>
The set of callbacks for additional registration logic
Implements Build(IServiceCollection, IConfiguration, IReadOnlyList<Action<IServiceCollection>>)
Returns¶
System.IServiceProvider
The built System.IServiceProvider.
ServiceProviderBuilder.Build(IServiceCollection, IConfiguration, IReadOnlyList<Action<IServiceCollection>>, IReadOnlyList<Action<IServiceCollection>>) Method¶
Builds a new System.IServiceProvider with both pre and post registration callbacks.
public System.IServiceProvider Build(Microsoft.Extensions.DependencyInjection.IServiceCollection services, Microsoft.Extensions.Configuration.IConfiguration config, System.Collections.Generic.IReadOnlyList<System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection>> preRegistrationCallbacks, System.Collections.Generic.IReadOnlyList<System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection>> postPluginRegistrationCallbacks);
Parameters¶
services Microsoft.Extensions.DependencyInjection.IServiceCollection
The service collection to configure.
config Microsoft.Extensions.Configuration.IConfiguration
The configuration to use for settings.
preRegistrationCallbacks System.Collections.Generic.IReadOnlyList<System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection>>
Callbacks executed before auto-discovery registration (e.g., for open generics).
postPluginRegistrationCallbacks System.Collections.Generic.IReadOnlyList<System.Action<Microsoft.Extensions.DependencyInjection.IServiceCollection>>
Callbacks executed after plugin registration.
Returns¶
System.IServiceProvider
The built System.IServiceProvider.
ServiceProviderBuilder.ConfigurePostBuildServiceCollectionPlugins(IServiceProvider, IConfiguration) Method¶
Configures plugins that require post-build service collection configuration using the built service provider.
public void ConfigurePostBuildServiceCollectionPlugins(System.IServiceProvider provider, Microsoft.Extensions.Configuration.IConfiguration config);
Parameters¶
provider System.IServiceProvider
The built service provider to use for plugin configuration.
config Microsoft.Extensions.Configuration.IConfiguration
The configuration to use for settings.
Implements ConfigurePostBuildServiceCollectionPlugins(IServiceProvider, IConfiguration)
ServiceProviderBuilder.GetCandidateAssemblies() Method¶
Gets the list of candidate assemblies that will be scanned for service registrations and plugins.
public System.Collections.Generic.IReadOnlyList<System.Reflection.Assembly> GetCandidateAssemblies();
Implements GetCandidateAssemblies()
Returns¶
System.Collections.Generic.IReadOnlyList<System.Reflection.Assembly>
A read-only list of assemblies to be processed for dependency injection.