しばらく私のIoCコンテナとしてUnityを使用していましたが、再発問題の正しい解決策を見つけることができませんでした。私はあなたが怒鳴る見ることができるように、操作の引数に応じて、(彼らはIAuditOperationLogWriterインタフェースを実装)AuditInsertLogWriterとAuditUpdateLogWriterのいくつかのインスタンスを作成する必要があります。Unity - コンテキストに応じて正しいインスタンスを解決する
public IAuditOperationLogWriter Create(Operation operation)
{
switch (operation)
{
case Operation.Insert:
return UnityContainer.Resolve<AuditInsertLogWriter>();
case Operation.Update:
return UnityContainer.Resolve<AuditUpdateLogWriter>();
default:
break;
}
}
事はそれらのインスタンスがあるため、独自の依存関係の作成が複雑であることです。さらに、この工場でUnityとの依存関係を取り除きたい。だから、私の質問です:どのように達成することができますUnityは、いくつかのコンテキストに応じて作成する正しいタイプを解決する?
本当に問題の一般的なタイプであるものに一般的な答えは、ここを参照してください:http://stackoverflow.com/questions/1943576/is-there-a-pattern-for-initializing-objects-created- via-a-di-container/1945023#1945023 –