Castle Windosr コンテナを使用しています。実行時にいくつかのコンストラクターの依存関係を指定できるようにしたいと考えています。これは明らかに、ディクショナリを使用する Resolve オーバーロードを使用して行うことができます。ただし、ルートの依存関係のランタイム依存関係を指定したい場合は、迷子になります。現時点では、それぞれを明示的に作成してベッドに入れることで回避しました。本質的にはデコレータのシナリオであり、のインスタンスを取得したい装飾中のオブジェクトの実行時に依存関係を提供しながら、宣言子。何か案は?以下で行っていることを実行する必要はなく、依存関係が同じではない場合があるため、デカレーター コンストラクターが下のオブジェクトにデータを入力しないようにしたいと考えています。
public static IActivity GetActivityFromIoC(string key, Message message, Audit audit)
{
IActivity activity = IoC.Resolve<IActivity>(key, new Dictionary<
string, object>(){
{ "message", message }
});
IActivity auditingActivity = IoC.Resolve<IActivity>("auditing.activity", new Dictionary<
string, object>(){
{ "activity", activity },
{ "message", message },
{ "audit", audit }
});
return auditingActivity;
}