0

在 Prism 中使用 Unity,我想向对象的构造函数发送一个参数,如下所示:

PSEUDO-CODE:

SmartFormPresenter smartFormPresenter1 =
    this.container.Resolve<SmartFormPresenter(customer)>();

但相反,我必须将其实例化,然后分配一个属性:

SmartFormPresenter smartFormPresenter1 =
    this.container.Resolve<SmartFormPresenter>();
smartFormPresenter1.ObjectBeingEdited = customer;

有没有办法直接向构造函数发送参数?

4

1 回答 1

2

这是一个很好地回答了这个问题的相关问题: 我可以将构造函数参数传递给 Unity 的 Resolve() 方法吗?

如果你想这样做,你唯一的选择是一个作用域容器。

IUnityContainer subContainer = this.container.CreateScopedContainer();
subContainer.RegisterInstance<Customer>(customer);
smartFormPresenter1 = subContainer.Resolve<SmartFormPresenter>();
于 2009-08-07T15:48:30.387 回答