J'ai cette application en utilisant CAL. Tous les modules dérivent d'une classe spéciale, ModuleBase
, qui a une méthode abstraite, disons ApplySecurity
implémentée dans chacun d'entre eux.En CAL, comment puis-je obtenir une référence à une instance de module?
OK Je charge les modules dans le programme d'amorçage et après avoir appelé bootstrapper.Run()
, je souhaite accéder à tous les modules qui ont été chargés et appeler cette méthode ApplySecurity
.
J'ai essayé ceci:
IModuleCatalog moduleCatalog = this.Container.Resolve<IModuleCatalog>();
moduleCatalog.Modules.ToList().ForEach(m =>
{
(this.Container.Resolve(Type.GetType(m.ModuleType, false, false))
as ModuleBase).ApplySecurity(); //^^^ this is making new instances!!
});
mais ce fait de nouvelles instances de modules, et je veux faire référence à ceux qui ont déjà été initialisés.
J'espère avoir été assez clair,
Teodor.
Merci pour votre réponse, cela a fait le travail. :) – Teodor