错误注入类型“T”必须可转换为“T”才能在泛型方法中将其用作参数“T”

本文关键字:泛型方法 参数 类型 注入 可转换 错误 | 更新日期: 2023-09-27 18:36:02

我有这个代码

public class NinjectControllerFactory : DefaultControllerFactory
{
    private IKernel ninjectKernel;
    public NinjectControllerFactory()
    {
        ninjectKernel = new StandardKernel();
        AddBindings();
    }
    protected override IController GetControllerInstance(
        RequestContext requestContext, Type controllerType)
    {
        return controllerType == null
            ? null
            : (IController)ninjectKernel.Get(controllerType);
    }
    private void AddBindings()
    {
        ninjectKernel
            .Bind<ICollection>().
            To<ListOfProcess.ConnectionLogic.ConnectionLogic>();
    }
}

并在最后一行出现下一个错误: 类型"T"必须可转换为"T"才能在泛型方法中将其用作参数"T"。

错误注入类型“T”必须可转换为“T”才能在泛型方法中将其用作参数“T”

似乎

ListOfProcess.ConnectionLogic.ConnectionLogic没有实现ICollection.

(如果是嵌套类型:不是ListOfProcess,不是ListOfProcess.ConnectionLogic而是ListOfProcess.ConnectionLogic.ConnectionLogic是没有实现ICollection的那个)