1

是否可以配置 Ninject 以便它根据类命名约定自动将接口类型绑定到具体类型?我正在使用 Ninject 版本 3。

例如,我的域层中有很多名为 ITypeRepository 的存储库,它们在我的基础设施层中实现为 ProviderTypeRepository。

下面是我当前如何绑定 Ninject 的 CreateKernal 方法的示例。

kernel.Bind<IClientRepository>().To<ProviderClientRepository>();
kernel.Bind<IVacancyRepository>().To<ProviderVacancyRepository>();
kernel.Bind<ICandidateRepository>().To<ProviderCandidateRepository>();
...etc etc

我想要以某种方式一次性映射它,这样每当我添加一个新的存储库时,我都不需要手动绑定它。

4

1 回答 1

1

您正在寻找可以执行以下操作的Ninject 约定扩展

kernel.Bind(x => x
    .FromThisAssembly()
    .SelectAllClasses().EndingWith("MySuffix")
    .BindAllInterfaces();
于 2013-06-29T17:06:16.703 回答