Подтвердить что ты не робот

Как использовать Ninject в приложении Windows Forms?

У меня есть приложение WinForms с этой главной формой:

    ICountRepository countRepository;
    public MainForm(ICountRepository countRepository)
    {
        this.countRepository = countRepository;
    }

    public void IncrementCount()
    {
        countRepository.IncrementCount();
    }

но я пытаюсь ввести ICountRepository в основную форму. Как это сделать?

4b9b3361

Ответ 1

Ну, первыми шагами должны переключаться:

var form = new MainForm();
Application.Run(form);

в

var kernel = new StandardKernel( new ModuleRegisteringICountRepository());
var form = kernel.Get<MainForm>();
Application.Run(form);

Возможно, уточняющее изменение или два о том, что вы хотите достичь, может дать вам более подробный ответ.


Настоятельно рекомендуется ускорить работу с шаблонами вокруг этого: @Mark Seemann Зависимость вложенности в .NET (в нем речь, трансформация выше делает Main ваш Корень композиции - (один) Get Составляет графический объект вашего приложения.