If you want to enter an array, then for this in the free interface ...
ForRequestedType<IBootStrapperTask>().TheDefault.Is.OfConcreteType<StartTasks>()
.TheArrayOf<ITask>().Contains(
y => {
y.OfConcreteType<Task1>();
y.OfConcreteType<Task2>();
y.OfConcreteType<Task3>();
});
If you want to go down the path of adoption IEnumerable<T>in your constructor, as far as I can see, things start to get a little more complicated. You can specify and construct the constructor argument as follows: -
ForRequestedType<IBootStrapperTask>().TheDefault.Is.OfConcreteType<StartTasks>()
.CtorDependency<IEnumerable<ITask>>().Is(i => {
i.Is.ConstructedBy(c => {
return new List<ITask> {
c.GetInstance<Task1>(),
c.GetInstance<Task2>(),
c.GetInstance<Task3>()
};
});
});
, IBuildInterceptor, CreateInstanceArray BuildSession, , .a >
, , :).