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