Ninject + Bind通用存储库

ebb*_*ebb 48 c# ninject ioc-container

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

我尝试过各种各样的事情:

Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>)); 
Bind(typeof(IRepository<>)).To(typeof(Repository<>)); 
Run Code Online (Sandbox Code Playgroud)

但是,如果我传入非通用接口和类,那么它就像梦一样?

que*_*rin 83

Bind(typeof(IRepository<>)).To(typeof(Repository<>));
Run Code Online (Sandbox Code Playgroud)

这是绑定开放泛型的正确语法.

如果您在请求时收到空值IRepository< of whatever >,那么在您尚未共享的代码区域中可能存在其他问题.

  • @qes如果IRepository采用多个类型参数(即`IRepository <T,U>`),语法是什么.请参阅http://stackoverflow.com/q/6740992/88709谢谢. (5认同)