我正在尝试使用 Ninject 来组成一个对象图,其中父对象包含一个子对象,并且子对象还维护对其父对象的引用。
如果没有依赖注入,它看起来像这样:
public interface IParent { }
public interface IChild { }
public class Parent : IParent
{
public Parent()
{
Child = new Child(this);
}
public IChild Child { get; private set; }
}
public class Child : IChild
{
public Child(IParent parent)
{
Parent = parent;
}
public IParent Parent { get; private set; }
}
我希望能够配置 Ninject 绑定以支持这种关系,以便IParent
可以在瞬态范围内实例化多个实例,每个实例都会自动填充一个IChild
持有对它的循环引用的实例。
我已经阅读了建议 Ninject 可以支持循环关系的评论,但我无法得出一个有效的配置。
请问有什么建议吗?
谢谢,
蒂姆。