Unityコンテナに次の再帰構造を登録することは可能ですか:
public interface IFoo
{
IBar[] Bars { get; set; }
}
public interface IBar
{
IFoo[] Foos { get; set; }
}
各インターフェースに複数の名前付きインスタンスが存在すると仮定します。
public class Foo1 : IFoo
{
public IBar[] Bars { get; set; }
}
public class Foo2 : IFoo
{
public IBar[] Bars { get; set; }
}
public class Bar1 : IBar
{
public IFoo[] Foos { get; set; }
}
public class Bar2 : IBar
{
public IFoo[] Foos { get; set; }
}
そして登録:
var container = new UnityContainer();
container.RegisterType<IFoo, Foo1>("foo1");
container.RegisterType<IFoo, Foo2>("foo2");
container.RegisterType<IBar, Bar1>("bar1");
container.RegisterType<IBar, Bar2>("bar2");
var instanceOfBar = container.Resolve<IBar>("bar1");
コレクションのプロパティが自動的に挿入されるように Unity コンテナーを構成する方法は?