Skip to content

ServiceProviderBuilder

NexusLabs.Needlr.Injection.Bundle

ServiceProviderBuilder Class

Builds and configures an Microsoft.Extensions.DependencyInjection.IServiceCollection, scanning assemblies for injectable types and plugins.

public sealed class ServiceProviderBuilder : NexusLabs.Needlr.Injection.IServiceProviderBuilder

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.

public System.IServiceProvider Build(Microsoft.Extensions.Configuration.IConfiguration config);

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.

Implements Build(IServiceCollection, IConfiguration, IReadOnlyList<Action<IServiceCollection>>, IReadOnlyList<Action<IServiceCollection>>)

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.