Primary等同于UnityContainer.AddNewExtension

问题描述 投票:0回答:1

我们有一个WPF应用程序,它分为几个C锋利的项目。我们的业务层还需要向容器注册一些服务对象。我们相信使用Unity的方法是

 Container.RegisterType<ISomeClass,SomeClass>();

在业务层C的Sharp库中,然后在主UI应用程序中

 UnityContainer.AddNewExtension<T>(); 

以上在https://www.c-sharpcorner.com/article/dependency-injection-using-unity-resolve-dependency-of-dependencies/中进行了详细说明

如果我们使用棱镜,有什么等效方法?具体来说,我们考虑只在业务库中使用Unity(而不是Prism),以便我们可以将其移植到Xamarin Mac和Linux。我们只会在WPF UI应用程序项目中使用Prism。能行吗?

谢谢

dependency-injection prism unity-container
1个回答
0
投票

如果我们使用棱镜,有什么等效方法?

IContainerRegistry中有一些方法,但是它们的行为没有得到很好的记录(除了“它们按照包装的容器的方法进行工作”,它们仅涵盖最常见的用例。

好消息是,您可以使用容器的GetContainer扩展方法来取回容器:

using Prism.Unity.Ioc;

containerRegistry.GetContainer().AddExtension<TheNeatExtension>();
© www.soinside.com 2019 - 2024. All rights reserved.