У меня есть класс с таким конструктором
public class BlotterService : IBlotterService
{
public BlotterService(IAService aService, IAnotherService anotherService)
{
// ...
}
}
и зарегистрированными зависимостями, подобными этому
// Default lifecycle is Singleton
Component.For<IAnotherService >().ImplementedBy<AnotherService >()
Component.For<IAService>().ImplementedBy<AService>() // instance 1 of AService
Component.For<IAService>().ImplementedBy<AService>().Named(
"aServiceAlternativeForBlotter") // instance 2 of AService
Component.For<IBlotterService>().ImplementedBy<BlotterService>()
Обычно, когда создаются экземпляры классов, требующих IAService, я хочу первый экземпляр AService, однаков конкретном случае BlotterService я хочу экземпляр 2 AService.
Как я могу зарегистрировать BlotterService / AService в контейнере замка для достижения этой цели?
РЕДАКТИРОВАТЬ: обновление
Я использую Castle 2.5.1.0 и, к сожалению, не могу обновить.