I am trying to inject multiple instances of the same class in a constructor. However when they are resolved they always resolve as the same instance. Here is my registration code:
public Repository(Class1 class1, Class1 class2)
{
_class1 = class1;
_class2 = class2;
}
builder.Register(ctx => new Class1()).Named<Class1>("a");
builder.Register(ctx => new Class1()).Named<Class1>("b");
builder.RegisterType<Repository>().WithParameters(new[]
{
new ResolvedParameter((p, c) => p.Name == "a", (p, c) => c.ResolveNamed<Class1>("a")),
new ResolvedParameter((p, c) => p.Name == "b", (p, c) => c.ResolveNamed<Class1>("b"))
}).AsImplementedInterfaces();
However when I do this I get the same instance of Class1 in the Repository.