2009-08-07 3 views
0

、私はこのようなオブジェクトのコンストラクタにパラメータを送りたい:UnityのResolve <>()メソッドを使ってオブジェクトのコンストラクタにパラメータを送信するにはどうすればよいですか?プリズムの中の統一を使用して

PSEUDO-CODE: 

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

しかし、その代わりに、私はそれをinstatiateして、プロパティを割り当てる必要があり:

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

ですコンストラクタに直接パラメータを送る方法はありますか?

+0

解決方法を得ましたか? –

答えて

2

はここでかなりよく、これを答えるの関連質問です: Can I pass constructor parameters to Unity's Resolve() method?

あなたがこれを行うにしたい場合は、あなたが持っている唯一のオプションはスコープコンテナです。

IUnityContainer subContainer = this.container.CreateScopedContainer(); 
subContainer.RegisterInstance<Customer>(customer); 
smartFormPresenter1 = subContainer.Resolve<SmartFormPresenter>(); 
関連する問題