J’ai une application WinForms avec ce formulaire principal:
ICountRepository countRepository; public MainForm(ICountRepository countRepository) { this.countRepository = countRepository; } public void IncrementCount() { countRepository.IncrementCount(); }
mais j’ai du mal à injecter ICountRepository
dans le mainform. Comment je fais ça ?
Eh bien, les premières étapes consistent à passer de:
var form = new MainForm(); Application.Run(form);
à:
var kernel = new StandardKernel( new ModuleRegisteringICountRepository()); var form = kernel.Get(); Application.Run(form);
Peut-être qu’une clarification ou deux clarifiant le type de chose que vous cherchez à obtenir pourraient vous apporter une réponse plus détaillée.
Il est vivement recommandé de se familiariser avec les modèles existants. Il s’agit de Dependency Injection in .NET de @Mark Seemann (dans son jargon, la transformation ci-dessus fait de Main
votre racine de composition – la (unique). Obtient le graphe d’objects de votre application.