这里的问题非常简单,但我很难找到任何信息。我有一个非常简单的父/子层次结构......
public class Parent : IParent
{
[Dependency]
public IChild Child { get; set; }
}
public class Child : IChild
{
[Dependency]
public IParent Parent { get; set; }
}
...我的容器注册正是您所期望的:
this.Container.RegisterType<IParent, Parent>();
this.Container.RegisterType<IChild, Child>();
当容器创建父实例时,它会自动创建并注入子实例的新实例,但如何将父引用注入该子实例?
基本上我试图找到与Ninject的InScope
方法相当的Unity。
答案 0 :(得分:1)
构造函数注入会为你解决这个问题吗?
public class Parent : IParent
{
public IChild Child { get; set; }
public Parent(IChild child)
{
child.Parent = this;
this.Child = child;
}
}
public class Child : IChild
{
public IParent Parent { get; set; }
}
构造函数中的IChild
由Unity解析,没有[Dependency]
装饰。