autofac基于泛型类型的多个注册

时间:2014-06-11 16:27:43

标签: c# generics autofac

我有一个收到通用类型的类:

RequestHandler<T>

现在我想基于泛型类型多次在Autofac中注册这个类。 像这样:

builder.RegisterType<RequestHandler<Request1>>().As<RequestHandler<T>>();
builder.RegisterType<RequestHandler<Request2>>().As<RequestHandler<T>>();
builder.RegisterType<RequestHandler<Request3>>().As<RequestHandler<T>>();
builder.RegisterType<RequestHandler<Request4>>().As<RequestHandler<T>>();

我知道语法不正确,但我希望你明白这一点。

这甚至可能吗?如果是这样的话?

1 个答案:

答案 0 :(得分:1)

您可以使用RegisterGeneric映射打开的泛型类型,如下所示:

builder.RegisterGeneric(typeof(RequestHandler<>)).As(typeof(RequestHandler<>));
相关问题