J'ai une classe MessageSender que son constructeur ressemble à ceci:Unity 2.0: Comment créer des conteneurs enfants sur CTor injection?
public MessageSender(IInputComponent input, IOutputComponent output)
{
m_Input = input;
m_Output = output;
}
Voilà comment j'instancier:
Container.RegisterType<IMessageSender, MessageSender>();
Container.RegisterType<IInputComponent, KeyboardInput>();
Container.RegisterType<IOutputComponent, ScreenOutput>();
Container.RegisterType<ILogger, Logger>();
return Container.Resolve<IMessageSender>();
Voici le consutructor KeyboardInput:
public KeyboardInput(IUnityContainer container)
{
m_Container = container;
m_Logger = container.Resolve<ILogger>();
}
Je veux l'instance KeyboardInput pour recevoir un conteneur enfant à son constructeur, de sorte qu'il résoudra son enregistreur à partir du conteneur enfant et non du parent.
Comment puis-je accomplir cela?
Merci!
Merci pour la réponse! La raison principale pour laquelle j'aimerais disposer du conteneur IOC en tant que variable d'instance est que je voudrais instancier les proxys de service, jetables, en tant que variables locales dans les méthodes, afin que je puisse appeler la méthode Dispose() Dès que possible. –
Cette réponse pourrait aider avec ça: http://stackoverflow.com/questions/3010820/dependency-injection-wcf/3011473#3011473 –