类型中具有两个泛型参数的Ninject绑定

本文关键字:泛型 两个 参数 绑定 Ninject 类型 | 更新日期: 2023-09-27 18:21:35

我有这个接口:

public interface IRepository<TDomain, TBusiness>
    where TDomain : class
    where TBusiness : class
    {...}

这个类别:

public class Repository<TDomain, TBusiness> : IRepository<TDomain,    TBusiness>
    where TDomain : class
    where TBusiness : class
    {...}

当我绑定到ninject时,类似于:

Kernel.Bind(typeof(IRepository<>))
      .To(typeof(Repository<>))
      .InRequestScope();

并出现错误"…中的类型参数数量不正确"。当我在类型中只有一个泛型时,一切都很好。有人能解决这个问题吗?

类型中具有两个泛型参数的Ninject绑定

这与Ninject无关,您得到的错误是C#编译器错误。这是因为用两个泛型参数指定类型的正确方法如下:

typeof(IRepository<,>)