我正在使用.NET Core依赖注入,但是当我试图在另一个类中获取服务时,我得到'IServiceProvider.GetService(Type)'不能与类型参数一起使用'错误.
这个错误意味着什么?我知道泛型类型的参数是这样的:GenericInterface <>,而GetService方法不会将GenericInterface <>作为参数.
为什么我会收到此错误,如何解决?
界面
public interface IService
{
void Process();
}
Run Code Online (Sandbox Code Playgroud)
实现接口的类
public class Service : BaseService<IConfig, SomType>
{
public Service(
ILogger logger : base(logger)
{
}
...
}
Run Code Online (Sandbox Code Playgroud)
BaseService类是一个抽象类,它实现了IService接口.
public abstract class BaseService<TConfig, TE> : AnotherBaseService, IService where TConfig : IConfig where TE : struct, IConvertible
{
protected BaseService(ILogger logger): base(logger)
{
}
...
}
Run Code Online (Sandbox Code Playgroud)
AnotherBaseService
public abstract class BaseService
{
protected readonly ILogger Logger;
protected BaseService(ILogger logger)
{
Logger = logger;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我是如何注册的. …