以下の構成を考えると
Container.Register(Component.For<A>().Named("foo"));
Container.Register(Component.For<B>().Named("foobar"));
Container.Register(
AllTypes.Pick()
.FromAssemblyNamed("MyAssembly")
.If(t => t.Name.EndsWith("ABC"))
.Configure(c => c.LifeStyle.Is(LifestyleType.Transient))
.WithService.Select(i => typeof(I))
);
Container.Register(
AllTypes.Pick()
.FromAssemblyNamed("MyAssembly")
.If(t => t.Name.EndsWith("123"))
.Configure(c => c.LifeStyle.Is(LifestyleType.Transient))
.WithService.Select(i => typeof(I))
);
インターフェイス「I」がプロパティ「P」を公開し、クラス A と B を P に割り当てることができることがわかっている場合。AllTypes 呼び出しからの型の最初のコレクションは、"foo" の ID を持つ型に設定されたプロパティ P を持つ必要があり、2 番目のコレクションは "foobar" の ID を持つ型に設定された同じプロパティを持つ必要があることを明示的に述べるにはどうすればよいですか? "?
XML 構成を使用すると、${id} 表記を使用してパラメーターを明示的に設定することで、これを行うことができます。流暢なAPIでも同様だと思います。
ありがとう。