我有彼此双向连接的课程。当 Ninject 创建类Parent
时,它也会创建一个Child
. 问题是Child
必须知道它的父母是谁。IContext
但我在父对象中找不到任何信息。
//The parent
class Parent:IParent
{
public Parent(Child child) {...}
}
//The child needing to know who its parent is
class Child:IChild
{
public Child(Parent parent) {...}
}
//The Ninject binding
Bind<IChild>().To<Child>.WithConstructorArgument("parent", x=>GetParent(x));
Bind<IParent>().To<Parent>;
Bind<IFactory>().ToFactory();
//Method to get the constructor parameter to Child containing the parent
private IParent GetParent(IContext context)
{
// Should return the IParent that requested this IChild
}
当我打电话时,IFactory.CreateParent()
我想得到一个与孩子有双向连接的父母。