Подтвердить что ты не робот

Замок Виндзор - регистрация IoC для открытых общих интерфейсов?

Позволяет ли Castle Windsor регистрировать открытый общий интерфейс или мне нужно регистрировать каждый возможный типизированный экземпляр отдельно?

Пример - ниже с типами T, Z сбой при компиляции, если я отдельно не укажу T, Z с сильными типами.

 container.Register(Component
      .For<IAdapterFactory<T,Z>>()
      .ImplementedBy<AdapterFactory<T,Z>>()
      .LifeStyle.PerWebRequest);
4b9b3361

Ответ 1

Он называется open generic, и да, Windsor действительно поддерживает это.

 container.Register(Component
             .For(typeof(IAdapterFactory<,>))
             .ImplementedBy(typeof(AdapterFactory<,>))
             .LifestylePerWebRequest());