I have an WinForms application with this Main Form :
    ICountRepository countRepository;
    public MainForm(ICountRepository countRepository)
    {
        this.countRepository = countRepository;
    }
    public void IncrementCount()
    {
        countRepository.IncrementCount();
    }
but i am struggling to inject ICountRepository into the mainform. How do I do that ?
Well the first steps are to switch from:
var form = new MainForm();
Application.Run(form);
to:
var kernel = new StandardKernel( new ModuleRegisteringICountRepository());
var form = kernel.Get<MainForm>();
Application.Run(form);
Perhaps a clarifying edit or two about what sort of thing you're looking to achieve might get you a more detailed answer.
Highly recommended to get up to speed with the patterns around this is @Mark Seemann's Dependency Injection in .NET book (in it's parlance, the transformation above makes Main your Composition Root - the (single) Get Composes the  object graph  of your app.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With