注入相同类型的多个实例 - Autofac

时间:2016-07-29 03:58:01

标签: c# autofac

我试图在构造函数中注入同一个类的多个实例。但是当它们被解析时,它们总是作为同一个实例解析。这是我的注册码:

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

但是,当我这样做时,我在Repository中获得了Class1的相同实例。

0 个答案:

没有答案