问题描述
我要使用
services.AddPredictionEnginePool<..>
当我使用“ IServiceCollection DI”时,我会在下面收到通知
无法实例化服务类型“ Microsoft.Extensions.DependencyInjection.IServiceCollection”的实现类型“ Microsoft.Extensions.DependencyInjection.IServiceCollection”。
我该如何使用;
services.AddPredictionEnginePool<..>
来自其他班级。
为什么要这么做;
使用该服务的原因是在运行时添加新对象。
解决方法
IServiceCollection
是DI容器的配置;您不应该在运行时使用它。最多只能使用IServiceProvider
(将其用作服务定位器),但是在使用DI时也可以将其视为反模式。
在没有更多关于您要完成的事情的上下文的情况下,我建议使用某种工厂类,该类知道如何在运行时创建这些对象(基于某些数据/配置),并将工厂注入到需要。