Предположим следующую структуру класса:Пользовательские разрешить вложенные зависимости
ClassA (IClassB classb, IClassC classc) : IClassA
ClassB (IClassC classc) : IClassB
ClassC1() : IClassC
ClassC2() : IClassC
Предположим, что я хочу использовать ClassC1
всякий раз, когда он используется для решения конкретно IClassA
, т.е. container.GetInstance<IClassA>()
вернется
new ClassA(
new ClassB (new ClassC1()),
new ClassC1()
)
Могу ли я сделать что-то как в StructureMap? (В идеале, что-то вроде For<ClassA>().Nest(x => x.For<IClassC>().Use<ClassC1>())
, но ничего бы сделать.)
Это похоже на http://stackoverflow.com/q/6575883/1180926, но это требует возможности «пропустить: шаги в цепочке, что позволяет сделать одно объявление« IClassC ». – Arithmomaniac