2011-08-03 10 views
0

IOCコンテナを使用してオブジェクトを作成するファクトリインタフェースの実装があります。UnityIOC xml設定ファイルの登録にパラメータとしてUnityContainerを渡すには

コンテナは、ファクトリの自動プロパティであり、ファクトリが登録されているコンテナと同じコンテナをこのプロパティに挿入したいのが理想的です。

わかりやすくするために、私は以下のようにしたいと思います。

<container name="MyContainer"> 
    <register type="IControllerFactory" mapTo="UnityControllerFactory">   
     <property name="UnityContainer" value="MyContainer" /> 
    </register> 
</container>  

もちろん、私はこの登録を自動的にIControllerFactoryプロパティに挿入するクラスを登録しています。

これを行う方法はありますか?

答えて

3

IUnityContainerは、デフォルトで自身に登録されています。次のようにコンストラクタを設定することができます:

public UnityControllerFactory(IUnityContainer unityContainer) 
{ 
    this.unityContainer = unityContainer; 
} 

依存関係は不要です。依存関係は簡単に解決されます。

関連する問題