【发布时间】:2011-06-27 14:52:48
【问题描述】:
我习惯了 Ninject,对于一个特定的项目,我被要求学习 Unity。
有一件事我找不到有关如何做的信息。
在 Ninject 中我可以声明:
Bind<IWarrior>().To<Samurai>().Named("Samurai");
Bind<IWarrior>().To<Ninja>().Named("Ninja");
Bind<IWeapon>().To<Katana>().WhenInjectedInto(typeof(Samurai));
Bind<IWeapon>().To<Shuriken>().WhenInjectedInto(typeof(Ninja));
然后,当有人问起名为 samurai 的武士时,武士会带上假名,而忍者会带上手里剑。应该的。
我不想在战士中引用容器来获得合适的武器,并且不想用属性污染模型(在另一个没有引用 ninject 或 unity 的程序集中)
PD:我正在寻找一种代码方式,而不是通过 xml 配置。
【问题讨论】:
标签: unity-container ioc-container ninject