【发布时间】:2014-01-27 09:16:47
【问题描述】:
我有一个接口IAdapdor,以及几个具体的实现。使用 Ninject 3.0,我将它们全部按名称绑定:
IKernel kernel = new StandardKernel();
kernel.Bind<IAdapdor>().To<Adaptor1>().Named("Adaptor1");
kernel.Bind<IAdapdor>().To<Adaptor2>().Named("Adaptor2");
...
如何使用Ninject conventions extension 实现这一目标?
更具体地说,我正在寻找以下内容:
kernel.Bind(x => x.FromThisAssembly()
.SelectAllClasses()
.InheritedFrom<IAdapdor>()
.BindByClassName()); // <-- BindByClassName() does not really exist
【问题讨论】:
-
我很想知道这个约定是什么……因为我没有看到。 Conventions 扩展并不能解决所有问题……有时您需要显式绑定。
-
@Simon Whitehead - 据我了解,我应该能够通过约定在一行中做到这一点。我将编辑问题以反映这一点。
标签: c# ninject ninject-extensions