CSharp - C# Ninject和配置

  显示原文与译文双语对照的内容

我曾经使用,但是在同一项目中使用 NHibernate/max ( IoC ),因这里我在同一个项目中移动。 现在,要了解这个问题,我有一个类:


class CustomModule : NinjectModule


{


 public override void Load()


 {


 Bind<Interfaces.ICafe>().To <Concrete.Tea>();


 }


}



Concrete 是一个单独的项目,Interfaces.ICafe 是一个不同的项目。 对于这个接口,如果他想在 app 。config中实现这个接口,那么不管他是怎样编写的,那么它仍然可以使用。

但是他必须使用相同的NAME"茶叶"制作一个具体的混凝土,否则它不能工作,因为它是硬编码的。

我是Ninject新手,我也知道有可能有什么问题?

时间: 原作者:

( 在我认识或者追随的人中) 将IoC绑定移动到代码中并退出XML的一般趋势。 大部分的/c 你获得了的智能感知和运行时反馈。 所以,如果你要做那样的事情,你必须对 Concrete.Tea 有一个引用。

原作者:

如果要避免引用具体实现,可以使用约定扩展在运行时加载实现。

-Ian

原作者:

我还没有使用它,但是有 Ninject.Extensions.Xml 插件的候选版本,它允许你在xml中设置映射。 但是我必须一致地同意,我一般不会这样做。 还有 Ninject.Extensions.Conventions,这可能就是你要做的。

原作者:
...