我有一个棱镜模块(实现IModule
(。
在RegisterTypes(IContainerRegistry containerRegistry)
中,我需要说类A
的一个实例是请求接口IA
和IAprime
时返回的实例:
public void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterSingleton<IA, A>();
containerRegistry.RegisterSingleton<IAprime, A>();
}
但是如果我这样做,我最终会有两个不同的单例。我应该怎么做?
我不能使用该RegisterInstance
,因为它需要我构建具有一定依赖性的 A。
感谢您的帮助!
你可以
这样做。
public void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterSingleton<A>();
containerRegistry.Register<IA, A>();
containerRegistry.Register<IAprime, A>();
}
当然,如果您需要 A 的一个实例,并且 A 必须注册为 IA,IAprime。