Prism 7 Singleton с двумя интерфейсами - PullRequest
0 голосов
/ 07 октября 2018

Я смотрю на абстракции контейнеров, представленные в Prism 7, и не уверен, как зарегистрировать один синглтон с двумя интерфейсами.

Исходя из единого фона, я сначала регистрирую синглтон (без интерфейса) и затем оба интерфейса (не как синглтон):

containerRegistry.RegisterSingleton<FactoryController>();
containerRegistry.Register<IFactoryController, FactoryController>();
containerRegistry.Register<IFactoryToken, FactoryController>();

Это прекрасно работает, так как мой контейнер равен единице.Но будет ли он работать и с другими контейнерами?

Существуют ли какие-либо спецификации для поведения абстракций контейнеров, предоставляемые Prism 7?

1 Ответ

0 голосов
/ 08 октября 2018

Абстракции Prism 7 Container преднамеренно просты и предназначены для обработки САМЫХ, но НЕ ВСЕХ ваших потребностей в регистрации.Для более сложных сценариев вам нужно будет получить контейнер, используя метод расширения GetContainer(), как показано здесь:

containerRegistry.GetContainer().RegisterType<FactoryController>(new ContainerControlledLifetimeManager());
containerRegistry.GetContainer().RegisterType<IFactoryController>(new InjectionFactory(c => c.Resolve<FactoryController>()));
containerRegistry.GetContainer().RegisterType<IFactoryToken>(new InjectionFactory(c => c.Resolve<FactoryController>()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...