首页 > 解决方案 > 有没有更好的方法在 Startup 类的 ConfigureServices 方法中注入所有依赖项

问题描述

services.AddScoped(typeof(IRepository<>), typeof(Repository<>));
services.AddScoped(typeof(IUserRepository), typeof(UserRepository));
services.AddScoped(typeof(IBaseService<>), typeof(BaseService<>));
services.AddScoped(typeof(IUserService), typeof(UserService));
services.AddSingleton<ILog, MyConsoleLogger>();
services.AddSingleton(typeof(ILog), typeof(MyConsoleLogger));
services.AddTransient<ILog, MyConsoleLogger>();
services.AddTransient(typeof(ILog), typeof(MyConsoleLogger));
services.AddScoped<ILog, MyConsoleLogger>();
services.AddScoped(typeof(ILog), typeof(MyConsoleLogger));

而这样的例子不胜枚举....

有没有更好的方法来解决这种依赖关系,而不是像这样为每个服务编写代码。是否有任何其他方式,例如从程序集中读取或使用反射来解决这些依赖关系。这样,如果我有 300 个接口,我必须编写 300 行来解决依赖关系。

标签: .net-coredependency-injectioncontainersdependency-resolutionservicecollection

解决方案


推荐阅读