我刚刚开始使用依赖注入。我已经阅读了Ninject wiki,并且非常清楚如何在需要依赖关系的单个实例时使用构造函数,属性或方法注入来注入依赖关系。但是,您如何处理您的类需要在其整个生命周期(施工后)构建对象的情况?例如:Ninject - 如何在对象生命期内注入?
class AddressBook
{
private List<IContact> _contacts;
public AddContact(string name)
{
_contacts.Add(****what?****)
}
}
我能想到的唯一方法是使用构造函数注入在的iKernel传递和使用,让我们的IContact接口:
class AddressBook
{
private IKernel _kernel;
private List<IContact> _contacts;
public AddressBook(IKernel kernel){ _kernel = kernel; }
public AddContact(string name)
{
_contacts.Add(_kernel.Get<IContact>(new Parameter("name", name)));
}
}
但后来你如何能真正注入内核?需要什么映射?这甚至是正确的方法吗?作为建议由本杰明Podszun
感谢所有帮助 菲利克斯
是的,我就是这么做的。 http://kozmic.pl/archive/2010/06/22/how-i-use-inversion-of-control-containers-ndash-pulling-from.aspx – 2010-08-31 02:11:52