0
我有相互雙向連接的類。 當Ninject創建類Parent
時,它也會創建一個Child
。問題是Child
必須知道它的父母是誰。但我在IContext
中找不到關於父對象的任何信息。獲取Ninject中的父對象
//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()
我想獲得一個雙向連接到一個孩子的父。
請問你能詳細解釋一下你想完成什麼嗎?當你調用'Resolve'時,你不會將有關調用者的任何信息傳遞給內核。 –
我看到我爲Bind寫了一個錯誤。它現在被糾正 – magol
當我打電話給IFactory.CreateParent()我想要一個雙向連接到一個孩子的父。 – magol