Во-первых, вы назвали два разных экземпляра для «name1», во-вторых, IEnumerables, массивы и IList/List<T>
s специально обрабатываются StructureMap, а вызовы, например, Ctor<IEnumerable<T>>()
игнорируются.
Вы можете использовать(только) это в вашем реестре (синтаксис 2.6.1):
For<ISomeClassWithDependencies>().Use<SomeClassWithDependencies>()
.EnumerableOf<IValidator>("type1s").Contains(
x =>
{
x.Type<Validator1>();
x.Type<Validator2>();
}
);
и создайте экземпляр, используя
var someClassWithDependencies =
ObjectFactory.GetInstance<ISomeClassWithDependencies>();