38

Castle Windsor 是否允许注册开放的通用接口,还是我需要分别注册每个可能的类型化实例?

示例 - 以下类型为 T,Z 的编译失败,除非我单独指定 T,Z 为强类型。

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

1 回答 1

76

它被称为open generic,是的,Windsor 确实支持它。

 container.Register(Component
             .For(typeof(IAdapterFactory<,>))
             .ImplementedBy(typeof(AdapterFactory<,>))
             .LifestylePerWebRequest());
于 2012-09-10T02:50:42.260 回答