Reputation: 1115
Does Castle Windsor permit registration of an open generic interface or do I need to register each possible typed instance separately?
Example - the below with types T,Z fails upon compilation unless I separately specify T, Z with strong types.
container.Register(Component
.For<IAdapterFactory<T,Z>>()
.ImplementedBy<AdapterFactory<T,Z>>()
.LifeStyle.PerWebRequest);
Upvotes: 42
Views: 14764
Reputation: 27374
It's called open generic, and yes, Windsor does support that.
container.Register(Component
.For(typeof(IAdapterFactory<,>))
.ImplementedBy(typeof(AdapterFactory<,>))
.LifestylePerWebRequest());
Upvotes: 80