Disons que j'ai un noyau Ninject, nommé _kernel, un objet donné (reçu en paramètre), disons myClass, de type IMyClass: IDisposable; J'ai remarqué que quand je lie IMyClass à myClass via ToMethod, comme ceci:Objet en cours de résolution via ToConstant mais pas lors de la résolution via ToMethod
Bind<IMyClass>().ToMethod(x => myClass);
Ensuite, chaque fois que je cède les _kernel, myClass.Dispose()
ne sera pas invoquée.
Cependant, si au lieu que je lie IMyClass à myClass via ToConstant, comme ceci:
Bind<IMyClass>().ToConstant(myClass);
alors myClass.Dispose()
sera appelée lors de l'élimination _kernel.
Pourriez-vous me expliquer ce comportement?
@ julio.g Voir aussi https://github.com/ninject/ninject/wiki/Object-Scopes (ajout d'une colonne Disposal avec quelques informations connexes). –
Merci Remo! @RubenBartelink: Beaucoup plus clair pour moi maintenant, merci! –