2012-07-06 56 views
0

我正在使用MS Unity Container。我所有的模塊需要使用一個共同的目標,我從字典中添加值是這樣的:MS UNITY:如何訪問我的所有模塊的字典?

Dictionary<Type, Func<BaseItem, BaseItemViewModel>> Maps 

當我使用一個ViewModel,這一個接收普通字典。

一位合夥人告訴我關於配置Unity的一些信息,但我對Unity的知識很少。

回答

1

創建一個服務並統一註冊。

例如

public interface ICommonDataService 
{ 
    Dictionary<Type,Func<BaseItem, BaseItemViewModel>> GetMaps(); 
} 

public class CommonDataService : ICommonDataService 
{ 
    public Dictionary<Type,Func<BaseItem, BaseItemViewModel>> GetMaps() 
    { 
     //Implementation 
    } 
} 

然後統一登記在你的引導程序

protected override void ConfigureContainer() 
    { 
     base.ConfigureContainer(); 
     Container.RegisterType<ICommonDataService, CommonDataService>(new ContainerControlledLifetimeManager()); 
} 

然後你就可以有這樣的注射或使用ServiceLocator從界面解決實例...

相關問題