Ai-je besoin de faire quelque chose de différent dans une classe abstraite pour que l'injection de dépendances fonctionne avec Ninject?Ninject: Classe abstraite
J'ai un contrôleur de base avec le code suivant:
public abstract class BaseController : Controller
{
public IAccountRepository AccountRepository
{
get;
set;
}
}
Mon Module ressemble à ceci:
public class WebDependencyModule : NinjectModule
{
public override void Load()
{
Bind<IAccountRepository>().To<AccountRepository>();
}
}
Et voici ma Global.asax
:
protected override void OnApplicationStarted()
{
Kernel.Load(new WebDependencyModule());
}
protected override IKernel CreateKernel()
{
return new StandardKernel();
}
Il fonctionne quand Je décore la propriété IAccountRepository
avec le [Inject]
attribut.
Edité répondre un peu - espérons que la chose globale est claire maintenant - n'hésitez pas à suivre dans les commentaires si cela n'a pas de sens. Assurez-vous de télécharger la source Ninject - c'est le meilleur endroit sur la planète pour obtenir des réponses sur Ninject. Les tests sont un assez bon ensemble de réponses. –
Ah, c'est une bonne idée. Va vérifier le code source à coup sûr. Merci! – Pickels