C# Ninject+;绑定通用存储库

C# Ninject+;绑定通用存储库,c#,ioc-container,ninject,C#,Ioc Container,Ninject,我正在尝试将一个通用IRepository接口绑定到我的通用存储库-但是它总是返回null 我尝试过各种方法,如: Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>)); Bind(typeof(IRepository<>)).To(typeof(Repository<>)); Bind(typeof(IRepository))。到(typ

我正在尝试将一个通用IRepository接口绑定到我的通用存储库-但是它总是返回null

我尝试过各种方法,如:

Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>)); 
Bind(typeof(IRepository<>)).To(typeof(Repository<>)); 
Bind(typeof(IRepository))。到(typeof(Repository));
绑定(typeof(IRepository))。到(typeof(Repository));
然而,如果我传入一个非泛型接口和类,那么它就像一个梦

Bind(typeof(IRepository))。到(typeof(Repository));
这是绑定开放泛型的正确语法

如果您在请求
IRepository<任何>
时收到null返回,则在您尚未共享的代码区域中可能存在其他问题。

请参阅上的我的答案


泛型绑定在Ninject中正常工作。尝试在存储库中使用无参数构造函数。我想问题就在那里。

太好了是的,你是对的。我的存储库constructor依赖于一个接口-我现在也绑定了存储库使用的接口,它可以工作了谢谢。@qes如果IRepository接受多个类型参数(即
IRepository
),语法会是什么。请看,谢谢。
Bind(typeof(IRepository<>)).To(typeof(Repository<>));