小编579*_*913的帖子

非泛型方法'IServiceProvider.GetService(Type)'不能与类型参数一起使用

我正在使用.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)

我是如何注册的. …

c# console-application .net-core dependency-inversion

11
推荐指数
2
解决办法
4423
查看次数