如何在StructureMap的构造函数中指定要使用的具体实例

时间:2016-06-21 14:19:10

标签: c# structuremap

我正在尝试在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)

0 个答案:

没有答案