Auflösen mehrerer Instanzen desselben Typs durch Unity

Ich möchte eine einfache Lösung für mehrere Typregistrierungen durchführen (letztendlich Konstruktor-Injection, aber mithilfe von .Resolve, um zu prüfen, ob Unity überhaupt zu solchen Dingen in der Lage ist.

In jedem der folgenden Fälle löst Unity 0 Elemente auf, in denen 2 aufgelöst werden sollen.

Gibt es einen Schalter in der Einheit, der das Verhalten nach 2007 aktiviert? Oder fehle ich nur etwas drastisch?

Hier ist mein Code:

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();

    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage