var builder = new ContainerBuilder();
builder.Register(ctx => new Class1()).Named<Class1>("a").AsSelf();
builder.Register(ctx => new Class1()).Named<Class1>("b").AsSelf();
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"))
var container = builder.Build();
var rep1 = container.Resolve<Repository>();
var rep2 = container.Resolve<Repository>();
internal readonly Class1 _class1;
internal readonly Class1 _class2;
public Repository(Class1 class1, Class1 class2)
Console.WriteLine("Equal");
Console.WriteLine("Not equal");
Console.WriteLine("Class1 created");