public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<ILoginUserManager, LoginUserManager>();
services.AddTransient<IRegisterManager, RegisterManager>();
services.AddTransient<IBusinessInvoiceInfoManager, BusinessInvoiceInfoManager>();
//...
}
整整几百行,看着不太舒服,而且每次添加新服务,都需要手动注入一下。就改了一下,从程序集中加载
Dictionary<Type, Type[]> keyValueBusiness = GetClassName("CKB.Business");
foreach (var item in keyValueBusiness)
{
foreach (var typeArray in item.Value)
{
services.AddTransient(typeArray, item.Key);
}
}
public Dictionary<Type, Type[]> GetClassName(string assemblyName)
{
if (!String.IsNullOrEmpty(assemblyN