Est-il possible avec le conteneur Castle Windsor d'avoir un composant implémentant deux interfaces différentes et ensuite de le résoudre pour renvoyer la même instance de composant? Par exemple;Can castles windsor container retourne la même instance d'un composant implémentant 2 interfaces
var windsor = new WindsorContainer()
.AddComponent<InterfaceA, ClassAB>()
.AddComponent<InterfaceB, ClassAB>();
var classAB1 = windsor.Resolve<InterfaceA>();
var classAB2 = windsor.Resolve<InterfaceB>();
Assert.AreSame(classAB1, classAB2);
Si j'essaie ce que je reçois une montré exception avec le message Il est un composant déjà inscrit au si je fournir des clés différentes clé, étant donné alors il retourne deux instances distinctes de la classe ClassAB
.
Editer: Idéalement, je voudrais faire cela dans un fichier de configuration.
Question ajoutée à la FAQ Windsor: http://using.castleproject.org/display/IoC/FAQ –