автоматическая многократная регистрация на основе типа дженериков

1

У меня есть класс, который получает общий тип:

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

Я знаю, что синтаксис неверен, но я надеюсь, что вы поняли эту идею.

так это возможно? если да, то как?

Теги:
generics
autofac

1 ответ

1
Лучший ответ

Вы можете использовать RegisterGeneric для отображения открытых общих типов следующим образом:

builder.RegisterGeneric(typeof(RequestHandler<>)).As(typeof(RequestHandler<>));
  • 0
    Спасибо друг, отлично работает!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню