Skip to content

IServiceProviderBuilder

NexusLabs.Needlr.Injection

NexusLabs.Needlr.Injection

IServiceProviderBuilder Interface

Defines a builder for constructing service providers with Needlr's auto-discovery capabilities. Coordinates assembly loading, type registration, and plugin execution.

public interface IServiceProviderBuilder

Methods

IServiceProviderBuilder.Build(IConfiguration) Method

Builds a new System.IServiceProvider using the discovered assemblies and a custom registration callback.

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

Parameters

config Microsoft.Extensions.Configuration.IConfiguration

The configuration to use for settings.

Returns

System.IServiceProvider
The built System.IServiceProvider.

IServiceProviderBuilder.Build(IServiceCollection, IConfiguration) Method

Builds a new System.IServiceProvider using the discovered assemblies and a custom registration callback.

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.

Returns

System.IServiceProvider
The built System.IServiceProvider.

IServiceProviderBuilder.Build(IServiceCollection, IConfiguration, IReadOnlyList<Action<IServiceCollection>>) Method

Builds a new System.IServiceProvider using the provided Microsoft.Extensions.DependencyInjection.IServiceCollection and a custom registration callback.

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

Returns

System.IServiceProvider
The built System.IServiceProvider.

IServiceProviderBuilder.Build(IServiceCollection, IConfiguration, IReadOnlyList<Action<IServiceCollection>>, IReadOnlyList<Action<IServiceCollection>>) Method

Builds a new System.IServiceProvider with both pre and post registration callbacks.

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.

IServiceProviderBuilder.ConfigurePostBuildServiceCollectionPlugins(IServiceProvider, IConfiguration) Method

Configures plugins that require post-build service collection configuration using the built service provider.

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.

IServiceProviderBuilder.GetCandidateAssemblies() Method

Gets the list of candidate assemblies that will be scanned for service registrations and plugins.

System.Collections.Generic.IReadOnlyList<System.Reflection.Assembly> GetCandidateAssemblies();

Returns

System.Collections.Generic.IReadOnlyList<System.Reflection.Assembly>
A read-only list of assemblies to be processed for dependency injection.