Я использую контейнер 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;
}