Ninject: Enregistrer une instance déjà créée avec Ninject?

Quelqu’un peut-il me dire si je peux enregistrer une instance déjà créée d’une classe avec Ninject pour qu’elle utilise cette instance chaque fois qu’elle a besoin d’être injectée?

Je suppose que vous pouvez l’appeler un singleton mais j’ai l’instance déjà créée. Toute la documentation indique la création de nouvelles instances d’une classe.

    Vous pouvez utiliser la méthode ToConstant qui prend une instance déjà existante et l’enregistre en tant que singleton.

     var kernel = new StandardKernel(); kernel.Bind().ToConstant(myClassInstance); 

    Si vous voulez quelque chose de plus complexe, vous pouvez utiliser le ToMethod (où vous pouvez utiliser un Func pour obtenir votre instance) combiné avec InSingletonScope

     var kernel = new StandardKernel(); kernel.Bind().ToMethod(context => myClassInstance).InSingletonScope();