Czy jest możliwe, aby w Zamku Windsor Container jeden komponent implementował dwa różne interfejsy, a następnie, po rozwiązaniu, aby zwrócić to samo wystąpienie komponentu? Na przykład;Czy zamki windsor container zwrócą to samo wystąpienie komponentu implementującego 2 interfejsy?
var windsor = new WindsorContainer()
.AddComponent<InterfaceA, ClassAB>()
.AddComponent<InterfaceB, ClassAB>();
var classAB1 = windsor.Resolve<InterfaceA>();
var classAB2 = windsor.Resolve<InterfaceB>();
Assert.AreSame(classAB1, classAB2);
Gdy próbuję to jak pokazano uzyskać wyjątek z komunikatem Jest składnikiem już zarejestrowana dla danego klucza, jeśli zapewniają różne klucze wówczas zwraca dwie oddzielne instancje klasy ClassAB
.
Edytuj: Idealnie chciałbym to zrobić w pliku konfiguracyjnym.
Pytanie dodany do Windsor FAQ: http://using.castleproject.org/display/IoC/FAQ –