我正在尝试在StructureMap中注册类DialogService
,并尝试定义StructureMap应该用于构造相应单例对象的具体实例。
我已经让它像这样工作:
this.For<DialogService>()
.Use<DialogService>()
.Ctor<IDialogCoordinator>("dialogCoordinator").Is(new DialogCoordinator())
.Ctor<ViewModelBase>("parentViewModel").Is(new MainWindowViewModel(new MainViewModel()))
.Singleton();
然而,我不想使用new MainViewModel()
和new MainWindowViewModel
,而是指示StructureMap使用相应的注册单例,我已经注册了这样:
this.For<MainWindowViewModel>().Use<MainWindowViewModel>().Singleton();
this.For<MainViewModel>().Use<MainViewModel>().Singleton();
我如何实现这一目标?
为了完整性,这里是DialogService
的构造函数:
DialogService(IDialogCoordinator dialogCoordinator, ViewModelBase parentViewModel)