У меня есть класс MessageSender, его конструктор выглядит так:
public MessageSender(IInputComponent input, IOutputComponent output)
{
m_Input = input;
m_Output = output;
}
Вот как я его создаю:
Container.RegisterType<IMessageSender, MessageSender>();
Container.RegisterType<IInputComponent, KeyboardInput>();
Container.RegisterType<IOutputComponent, ScreenOutput>();
Container.RegisterType<ILogger, Logger>();
return Container.Resolve<IMessageSender>();
Вот обработчик KeyboardInput:
public KeyboardInput(IUnityContainer container)
{
m_Container = container;
m_Logger = container.Resolve<ILogger>();
}
Я хочу, чтобы экземпляр KeyboardInput получал дочерний контейнер для своего конструктора, поэтому он разрешает свой регистратор из дочернего контейнера, а не из родительского.
Как мне это сделать?
Спасибо!