我的视图模型中目前有以下构造函数
public CartViewModel() : this(new PayPalCompleted()) { }
public CartViewModel(IPayPalCompleted serviceAgent)
{
if (!IsDesignTime)
{
_ServiceAgent = serviceAgent;
WireCommands();
}
}
我正在尝试模块化我的应用程序 Prism 和 MEF。我的模块工作正常,但我的一个视图模型有问题。
我的问题是我需要在构造函数中导入 EventAggregator 但我遇到了关于如何使用无参数构造函数以及导入构造函数执行此操作的问题
[ImportingConstructor]
public CartViewModel([Import] IEventAggregator eventAggregator)
{
if (!IsDesignTime)
{
_ServiceAgent = new PayPalCompleted();
TheEventAggregator = eventAggregator;
WireCommands();
}
}
即我想做这样的事情
public CartViewModel() : this(new PayPalCompleted(), IEventAggregator eventAggregator) { }
[ImportingConstructor]
public CartViewModel(IPayPalCompleted serviceAgent, IEventAggregator eventAggregator)
{
...stuff
}
我知道哪个不正确...什么是?
我认为,部分问题在于,当使用导入构造函数时,构造函数中的参数默认为导入参数——这意味着它们需要相应的导出才能使 MEF 能够正确组合。这可能意味着我应该导出我的 paypay 服务?还是应该?
谢谢