Если вы зарегистрируете несколько типов для определенного типа (используя именованные регистрации), то, когда контейнер увидит зависимость от массива этого типа, он автоматически внедрит все именованные регистрации.
Так что это будет работать:
this.mContainer
.RegisterType<ISomeType, SomeImpl1>("one")
.RegisterType<ISomeType, SomeOtherImpl>("other")
.RegisterType,ISomeType, AnotherImpl>("another");
ISomeType[] someTypes = mContainer.Resolve<ISomeType[]>();
Эта логика будет срабатывать всякий раз, когда есть зависимость ISomeType [] - параметр конструктора, внедренное свойство и т. Д.
Обратите внимание, что при внедрении массива будут вводиться только именованные регистрации. Безымянная регистрация по умолчанию не включена в массив.