MEF方法在Prism Unity中等效

时间:2017-09-15 08:43:30

标签: c# wpf unity-container prism

希望有人能指出我正确的方向。 我一直在重构我写的WPF应用程序(相当复杂 - 给我),以评估Prism和Unity而不是MEF。

我使用Unity遇到ServiceFactory模式的问题 - 我不知道如何克服。作为所有这些技术的初学者肯定没有任何帮助。

是否有与Unity相同的方式来获得与下面代码相同的结果?

[Export(typeof(IServiceFactory))]
[PartCreationPolicy(CreationPolicy.NonShared)]
public class ServiceFactory : IServiceFactory
{
    T IServiceFactory.CreateClient<T>()
    {
        return ObjectBase.Container.GetExportedValue<T>();
    }
}

亲切的问候并提前感谢。 斯蒂芬

1 个答案:

答案 0 :(得分:1)

试试这个(假设ObjectBase.Container属性返回IUnityContainer):

using Microsoft.Practices.Unity;
...
public class ServiceFactory : IServiceFactory
{
    T IServiceFactory.CreateClient<T>()
    {
        return ObjectBase.Container.Resolve<T>();
    }
}