Castle Windsor autorise-t-il l’enregistrement d’une interface générique ouverte ou dois-je enregistrer chaque instance typée possible séparément?
Exemple – le type ci-dessous avec les types T, Z échoue lors de la compilation, sauf si je spécifie séparément T, Z avec des types forts
container.Register(Component .For<IAdapterFactory>() .ImplementedBy<AdapterFactory>() .LifeStyle.PerWebRequest);
C’est ce qu’on appelle le générique ouvert , et oui, Windsor appuie cela.
container.Register(Component .For(typeof(IAdapterFactory<,>)) .ImplementedBy(typeof(AdapterFactory<,>)) .LifestylePerWebRequest());