c# - Ninject + Bind 通用存储库

标签 c# ioc-container ninject

我正在尝试将通用 IRepository<> 接口(interface)绑定(bind)到我的通用 Repository<> - 但它总是返回 null?

我试过很多东西,比如:

Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>)); 
Bind(typeof(IRepository<>)).To(typeof(Repository<>)); 

但是,如果我传入一个非通用接口(interface)和类,那么它会像梦一样工作吗?

最佳答案

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

这是绑定(bind)开放泛型的正确语法。

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

关于c# - Ninject + Bind 通用存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370515/

相关文章:

c# - 如何使用 Unity 映射泛型类型?

c# - 难以通过工厂 DI 理解 ninject(或一般的 IOC 容器)?

c# - Asp.net Core AutoFac 使用工厂注册泛型

c# - 使用 Ninject 跨类传递参数

dependency-injection - 使用 IoC 时如何管理对象处理?

C# - 跟踪打开的子窗体

c# - Elasticsearch NEST PUT 映射以添加字段/属性

entity-framework - 使用 StructureMap 处理 DbContext 异常

c# - C# 多线程下载器

c# - ".RestoreDirectory"不工作