Вопрос о GetModuleCatalog для загрузчика .NET Prism GetModuleCatalog
-
21-09-2019 - |
Вопрос
Может кто-нибудь, пожалуйста, объяснить, где GetModuleCatalog (Microsoft.Practices.Composite.UnityExtensions.UnityBootstrapper.GetModuleCatalog())
вызывается в оболочке Prism?Я понимаю, что его нужно переопределить в программе начальной загрузки приложения, но я не смог выяснить, где он вызывается внутренне при запуске программы начальной загрузки.
Решение
ModuleManager вызывает его, когда Run() вызывается из вашего загрузчика.Если вы посмотрите на реализация UnityBootstrapper, вы увидите эту строку кода в методе Run():
this.InitializeModules();
Этот метод, в свою очередь, делает это:
IModuleManager manager;
manager = this.Container.Resolve<IModuleManager>();
manager.Run();
Итак, глядя теперь на реализацию IModuleManager по умолчанию (просто ModuleManager), вы видите инициализацию модулей.Если вы хотите ознакомиться с кодом ModuleManager, вы можете посмотреть его на codeplex здесь:Модульный менеджер.cs