2017-09-15 92 views
0

希望有人可能會指出我正確的方向。 我一直在重構我寫的WPF應用程序(相當複雜 - 對我來說),來評估MEF上的Prism和Unity。MEF方法等同於棱鏡Unity

我遇到了使用Unity的ServiceFactory模式的問題 - 我不知道如何克服。作爲所有這些技術的初學者肯定沒有任何幫助。

Unity有沒有和下面的代碼一樣的結果?

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

親切的問候和感謝提前。 斯蒂芬

+0

不知道什麼是預期的結果實際上_is_,但你在找'Container.Resolve'? – Haukinger

回答

1

試試這個(假設ObjectBase.Container屬性返回IUnityContainer):

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