This library provide you possibility to create modules for DI, using Microsoft.Extensions.DependencyInjection.IServiceCollection
.
public class ServiceModule : IModule
{
public void Load(IServiceCollection serviceCollection)
{
serviceCollection.AddTransient<IMessageService, SmsService>();
}
}
For create module you need create class and implement IModule
interface.
IModule
interface has just only one method Load
, that gets Microsoft.Extensions.DependencyInjection.IServiceCollection
.
Moduler
provide 3 possability to inject your module.
- Using
serviceCollection.AddModules(Assembly.GetExecutingAssembly());
. This method scans all modules for assembly, injects its toIServiceCollection
by dynamically module instantiation. - Using
serviceCollection.AddModule(new ServiceModule())
. This method injects all module dependencies toIServiceCollection
by directly module instantiation. - Using
serviceCollection.AddModule<ServiceModule>()
. This method injects all modules dependencies toIServiceCollection
by dynamically module instantiation.
Install-Package Moduler -Version 1.0.1