Я пытаюсь разработать приложение Prism 6 UWP. Моя текущая проблема заключается в том, что я хочу зарегистрировать все объекты, используемые в приложении с контейнером для инъекций Unity Dependency. Но так много объектов пользовательского интерфейса создаются инфраструктурой (Activator.CreateInstance (type)) и не могут инициировать их создание через зависимую инъекцию conatiner.I будет хорошо, даже если я зарегистрирую созданные объекты с помощью DI conatiner. Я ссылался на образец приложения Github AdventureWorks.Shopper в образцах Призма. Здесь я видел, что представления создаются инфраструктурой, но некоторые другие объекты создаются зависимым впрыском conatiner.Использование контейнера Unity в UWP
Есть ли способ получить все объекты в приложениях и зарегистрировать их с помощью DI conatiner?
Есть ли способ получить все объекты в приложениях и зарегистрировать их с контейнером DI или вызвать все создание через DI conatiner?
Вы хотите зарегистрировать набор объектов через контейнер зависимостей, в который вы можете отразить? Не могли бы вы рассказать о типах в загруженных сборках и загружать их в контейнер DI, причем их метод создания объектов является Activator.CreateInstance? – QiMata
Если я это сделаю, я получаю повторяющиеся объекты. Некоторые объекты пользовательского интерфейса отображаются в виде фреймворка. Фактически пользовательский интерфейс отображается с этим объектом. Но мой контейнер DI имеет другой экземпляр того же класса. –
. Один из способов, мы обнаружили, что мы можем получить доступ к контейнеру как это единствоContainer = (UnityContainer) ((Prism.Unity.Windows.PrismUnityApplication) Application.Current) .Container ;. Объект, созданный каркасом, может быть зарегистрирован с помощью объединения, добавив регистрацию в конструктор api example unityContainer.RegisterInstance (this); –