У меня проблема с Castle Windsor 3 Beta 1. Я использую ArrayResolver, который был добавлен в установщик следующим образом:
objContainer.Kernel.Resolver.AddSubResolver(New ArrayResolver(objContainer.Kernel, True))
Оттуда я регистрирую компонент и пытаюсьввести массив IWorkers.IWorkers имеют свои собственные зависимости.В случае, если указан только один IWorker, его зависимости разрешаются, но при передаче нескольких значений это не происходит.
Это не будет работать:
objContainer.Register(Component.For(Of Services.INotifiableService).ImplementedBy(Of Services.MyService).Named(GetType(Services.MyService).Name).DependsOn(Dependency.OnComponent(GetType(Services.Resolvers.IResolver), GetType(Services.Resolvers.MyResolver).Name), Dependency.OnComponentCollection(Of Services.Workers.IWorker())(GetType(Services.Workers.IWorkerImplementationA), GetType(Services.Workers.IWorkerImplementationB))).Interceptors(Of Logging.Interceptors.InfoLoggingInterceptor, Notifications.Interceptors.ServiceErrorInterceptor).LifeStyle.Transient())
Это будет:
objContainer.Register(Component.For(Of Services.INotifiableService).ImplementedBy(Of Services.MyService).Named(GetType(Services.MyService).Name).DependsOn(Dependency.OnComponent(GetType(Services.Resolvers.IResolver), GetType(Services.Resolvers.MyResolver).Name), Dependency.OnComponentCollection(Of Services.Workers.IWorker())(GetType(Services.Workers.IWorkerImplementationA))).Interceptors(Of Logging.Interceptors.InfoLoggingInterceptor, Notifications.Interceptors.ServiceErrorInterceptor).LifeStyle.Transient())
Я что-то упустил или это ошибка?