Castle Windsor是否允许注册开放的通用接口,还是需要单独注册每个可能的类型实例?
示例 - 下面的类型为T,Z在编译时失败,除非我单独指定强类型的T,Z。
container.Register(Component
.For<IAdapterFactory<T,Z>>()
.ImplementedBy<AdapterFactory<T,Z>>()
.LifeStyle.PerWebRequest);
答案 0 :(得分:69)
它被称为开放通用,是的,Windsor确实支持它。
container.Register(Component
.For(typeof(IAdapterFactory<,>))
.ImplementedBy(typeof(AdapterFactory<,>))
.LifestylePerWebRequest());