ServiceCollection

Microsoft.Extensions.DependencyInjection

Summary

Class

Represents a collection of service descriptors that can be used to register services with a dependency injection container.

This class implements IServiceCollection and provides the functionality to add, remove, and manage service registrations.

Members

Constructors

Name Description
ServiceCollection() Initializes a new instance of the ServiceCollection class.

Methods

Name Description
Add(ServiceDescriptor) Adds the specified ServiceDescriptor to the collection.
AddSingleton() Adds a singleton service of the specified type to the collection.
AddSingleton<TService>() Adds a singleton service of the specified type to the collection.
AddScoped<TService>() Adds a scoped service of the specified type to the collection.
AddTransient<TService>() Adds a transient service of the specified type to the collection.
BuildServiceProvider() Builds an IServiceProvider from the current service descriptors.

Properties

Name Type Description
Count int Gets the number of elements contained in the ServiceCollection.
IsReadOnly bool Gets a value indicating whether the ServiceCollection is read-only.

Example Usage

var services = new ServiceCollection();

// Add a singleton service
services.AddSingleton<IMyService, MyServiceImplementation>();

// Add a scoped service
services.AddScoped<IOtherService>();

// Add a transient service
services.AddTransient<ILoggerFactory>();

// Build the service provider
using (var provider = services.BuildServiceProvider())
{
    // Resolve services from the provider
    var myService = provider.GetService<IMyService>();
}