У меня есть декоратор, который имеет некоторые другие зависимости, которые также должны быть разрешены с помощью контейнера. Пример:
public class FooDecorator : IFoo
{
public FooDecorator(IFoo inner, IBar bar, IBaz baz)
}
Я могу зарегистрировать это следующим образом:
builder.RegisterType<Foo>().As<IFoo>();
builder.RegisterDecorator<IFoo>((c, inner) =>
new FooDecorator(inner, c.Resolve<IBar>(), c.Resolve<IBaz>()), "key");
Это работает, однако не так приятно, что мне нужно вручную указать все другие зависимости. Я хотел бы сделать следующее:
builder.RegisterDecorator<FooDecorator, IFoo>("key");
Если IFoo
разрешено "внутреннее" IFoo
, а остальные зависимости разрешены из контейнера. Возможно ли это, или я могу зарегистрировать декоратор с помощью Func, который приведет к такому поведению?