首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >棱镜7单片双接口

棱镜7单片双接口
EN

Stack Overflow用户
提问于 2018-10-07 11:51:26
回答 1查看 662关注 0票数 2

我正在查看Prism 7中引入的容器抽象,并且不确定如何用两个接口注册一个单例。

基于统一背景,我首先注册单例(没有接口),然后注册两个接口(不是单例):

代码语言:javascript
复制
containerRegistry.RegisterSingleton<FactoryController>();
containerRegistry.Register<IFactoryController, FactoryController>();
containerRegistry.Register<IFactoryToken, FactoryController>();

这很好,因为我的容器是统一的。但它也适用于其他容器吗?

是否有关于棱镜7提供的容器抽象行为的任何规范?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-08 19:08:43

Prism 7容器抽象是有意简单的,目的是处理大多数(但不是所有)注册需求。对于更复杂的场景,需要使用扩展方法GetContainer()获取容器,如下所示:

代码语言:javascript
复制
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>()));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52688215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档