interface IFoo<T> { }
interface IBar { }
class BarImpl : IBar { }
class FooImplA : IFoo<IBar> { }
class FooImplB : IFoo<BarImpl> { }
container.Register(
AllTypes.Of(typeof(IFoo<>)).From(assem)
.WithService.FirstInterface());
var bars = container.ResolveAll<IFoo<BarImpl>>();
Есть в любом случае для настройки разрешения контейнера Windsor, так что bars
будет включать в себя как FooImplA
и FooImplB
?Windsor Устранение общего обслуживание подтипы
да ... это правда, я забыл упомянуть, что BarImpl: IBar. так что замок не может это сделать? то, что я действительно хочу, это IFoo как возвращаемый тип, с конкретным импом в качестве типа поиска. я понимаю, что все типы IBar должны быть зарегистрированы. нет ничего обычая, что я могу сделать? get IFoo , найти все типы в контейнере, где typeof (T) .IsAssignableFrom (typeof (BarImpl)). –
neouser99