我正在使用 Prism 和 Unity。
我有这个引导程序:
protected override IModuleCatalog GetModuleCatalog()
{
ModuleCatalog catalog = new ModuleCatalog()
.AddModule(typeof(CustomerModule.CustomerModule))
.AddModule(typeof(EmployeesModule.EmployeesModule))
.AddModule(typeof(MenuModule.MenuModule));
return catalog;
}
我的CustomerModule注入了一个 MenuManager 并向其中添加菜单项:
public void Initialize()
{
menuManager.MenuItems.Add("Customers");
menuManager.MenuItems.Add("Other Customers");
}
但是当我的MainMenuPresenter对象也注入 MenuManager 时,它不是同一个对象:
public MainMenuPresenter(MainMenuView view, MenuManager menuManager)
{
View = view;
View.DataContext = this;
foreach (string menuItemTitle in menuManager.MenuItems)
{
MenuItems.Add(menuItemTitle);
}
}
如何告诉 Prism/Unity 我希望注入的 MenuManager 是单例,以便将相同的对象注入到我的每个模块和对象中?