Je commence avec Dependency Injection et j'ai quelques problèmes pour injecter une dépendance dans une classe de base.Injecter une dépendance dans une classe de base
J'ai un contrôleur BaseController
dont mes autres contrôleurs héritent. À l'intérieur de ce contrôleur de base, je vérifie si l'utilisateur a les droits nécessaires pour voir la page en cours, vérifier l'existence de certaines variables de session, etc.
J'ai une dépendance à l'intérieur de ce contrôleur de base que je voudrais injecter à l'aide Ninject mais quand je le mettre en place comme je le ferais pour mes autres dépendances on me dit par le compilateur que:
erreur 1 « MyProject.Controllers.BaseController » ne contient pas Un constructeur que prend 0 argument
Cela a du sens, mais je ne suis pas sûr de savoir comment injecter cette dépendance. Devrais-je utiliser ce modèle d'utilisation d'un contrôleur de base ou devrais-je le faire d'une manière plus efficace/correcte?
pouvez-vous poster du code de constructeurs BaseController? –
Au lieu de résoudre ce problème, considérez ces règles: 1) Favoriser la composition sur l'héritage. 2) N'effectuez aucun travail dans les constructeurs. Suivre les deux vous facilitera la vie avec DI. –