使用NInject约定,是否有办法绑定一个通用接口,该接口具有与实现它的具体类不同数量的类型参数?
例如:
public interface IRepository<T1, T2>
{
...
}
public class Repository<T1, T2, T3> : IRepository<T1, T2>
{
...
}
答案 0 :(得分:0)
您无法直接执行此操作,但解决方案相当简单:使用两个继承自Repository<T1, T2, T3>
的类型参数创建一个新类型,如下所示:
class Rep<T1, T2> : Repository<T1, T2, ActualType>
{
}
此类型可以直接映射到IRepository<T1, T2>
,而不会留下任何未解析的泛型类型参数。