Получение единства для разрешения нескольких экземпляров одного типа
Я хочу сделать простое решение нескольких регистраций типов (в конечном счете, конструктор вводится, но с использованием .Resolve, чтобы увидеть, способен ли Unity даже на такие вещи.
В каждом из приведенных ниже случаев Unity разрешает 0 пунктов, где следует разрешить 2.
Есть ли какое-то изменение в единстве, которое включает поведение после 2007 года? Или я просто что-то упустил?
Вот мой код:
public interface IFoo {}
public class Foo1 : IFoo{}
public class Foo2 : IFoo{}
class Program
{
static void Main(string[] args)
{
var container = new UnityContainer();
container.RegisterType<IFoo, Foo1>();
container.RegisterType<IFoo, Foo2>();
// container.Resolve<IEnumerable<IFoo>>(); returns 0
// container.ResolveAll<IFoo>(); returns 0
var foos = container.Resolve<IFoo[]>();
Console.WriteLine(foos.Count());
Console.ReadLine();
}
}