Tenir compte de l'ensemble des classes suivantes:Est-il possible d'enregistrer toutes les dépendances et seulement les dépendances d'une classe donnée avec l'installateur Castle Windsor?
public interface IService { }
public interface IDep1 { }
public interface IDep2 { }
public interface IDep3 { }
public class Dep1 : IDep1 { }
public class Dep2 : IDep2 { }
public class Dep3 : IDep3 { } // this one is not used
public class Service1 : IService
{
public Service1(IDep1 dep1) { }
}
public class Service2 : IService
{
public Service2(IDep1 dep1, IDep2 dep2) { }
}
J'utilise le programme d'installation du château de Windsor suivant pour vous inscrire toutes les classes qui héritent de IService:
container.Register(Classes.FromThisAssembly()
.BasedOn(typeof(IService))
.WithServiceSelf()
.WithServiceBase()
.LifestyleTransient());
Comment puis-je écrire un programme d'installation qui sera enregistrer toutes les classes, qui sont des dépendances de classes déjà enregistrées, mais rien de plus. En d'autres termes: Comment puis-je écrire un programme d'installation générique, qui enregistrera IDep1 et IDep2, mais pas IDep3 (parce que IDep3 est utilisé par aucun IService
Pourquoi voudriez-vous garder IDep3 dans votre base de code si ce n'est pas utilisé? – Paolo
Pourquoi est-ce important si une classe est enregistrée mais pas utilisée? – stuartd
Parce que Dep3 est utilisé ailleurs et je ne veux pas qu'il soit dans le conteneur. – Eiver