Ninject 与类型中的两个泛型参数绑定
Ninject binding with two generic parameters in types
我有这个界面:
public interface IRepository<TDomain, TBusiness>
where TDomain : class
where TBusiness : class
{...}
还有这个class:
public class Repository<TDomain, TBusiness> : IRepository<TDomain, TBusiness>
where TDomain : class
where TBusiness : class
{...}
当我使用 ninject 绑定时,类似于:
Kernel.Bind(typeof(IRepository<>))
.To(typeof(Repository<>))
.InRequestScope();
并且出现错误"Incorrect number of type parameters in ..."。
当我只有一个通用类型时,一切正常。
有没有人解决这个问题?
这与 Ninject 无关,您遇到的错误是 C# 编译器错误。这是因为使用两个泛型参数指定类型的正确方法如下:
typeof(IRepository<,>)
我有这个界面:
public interface IRepository<TDomain, TBusiness>
where TDomain : class
where TBusiness : class
{...}
还有这个class:
public class Repository<TDomain, TBusiness> : IRepository<TDomain, TBusiness>
where TDomain : class
where TBusiness : class
{...}
当我使用 ninject 绑定时,类似于:
Kernel.Bind(typeof(IRepository<>))
.To(typeof(Repository<>))
.InRequestScope();
并且出现错误"Incorrect number of type parameters in ..."。 当我只有一个通用类型时,一切正常。 有没有人解决这个问题?
这与 Ninject 无关,您遇到的错误是 C# 编译器错误。这是因为使用两个泛型参数指定类型的正确方法如下:
typeof(IRepository<,>)