2012-03-02 9 views
1

私はUnityContainerを使用しています。unityContainerでランタイムパラメータを必要とするctorで型を登録する

AuthServiceTokenManagerに登録します。

AuthServiceには、プライベートメンバーとしてTokenManagerがあります。

TokenManagerは1 CTORがありますTokenManager(string name, string pass)

私は、実行時にUIからこれらの文字列を取得します。

Unityは、configファイルにctorパラメータを登録する必要があります。

私はctorのを作成するために

  • を考えている:

AuthService(TokenManager mgr) しかし、その後、どのように私は、configファイルに<unity>ノードにオブジェクト(非プリミティブ)を追加しますか?

  • Unityと実行時パラメータをTokenManager ctorで使用するにはどうすればよいですか?

答えて

0

私の考え:

のAuthServiceが2 CTOR必要があります - テストハーネスでパラメータなしとAuthService(bool initFromContainer)

私は(偽)新しいのAuthServiceを呼び出してから、使用してTokenManager

を上書きしますがAuthService_Accessor

0

TokenManagerのファクトリを定義し、ファクトリをAuthServiceに挿入します。ファクトリでユーザー名とパスワードのパラメータを受け入れるようにします。

incorporate runtime parametersが必要なときはいつでも、工場に注入すると非常にうまく動作します。しかし、そのパターンで夢中にならないでください。あるいは、factory overloadにぶつかるかもしれません。