【发布时间】:2011-03-08 09:10:29
【问题描述】:
我有一个 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 实例接收一个子容器给它的构造函数,所以它会从子容器而不是父容器解析它的记录器。
我怎样才能做到这一点?
谢谢!
【问题讨论】:
标签: dependency-injection inversion-of-control unity-container ioc-container