Я работаю над приложением WinForm, используя ninject для внедрения зависимостей. Моя первая проблема заключалась в том, что создаваемая форма имела параметр (для DI). Я добавил конструктор без параметров, думая, что это поможет. Проблема в том, что код внутри конструктора с параметром пропускается. Вот как это выглядит:
На моей основной форме:
private void mnuSettings_Click(object sender, System.EventArgs e)
{
frmSettings objForm = new frmSettings();
objForm.Owner=this;
objForm.Show();
}
В форме frmSettings:
private readonly IApplicationPropertiesInterface _applicationProperties;
public frmSettings()
{
InitializeComponent();
}
public frmSettings(IApplicationPropertiesInterface applicationProperties) : this()
{
_applicationProperties = applicationProperties;
}
Когда я вызываю _applicationProperties.GetExtractFileSaveLocationDirectory (), он взрывается, потому что код для установки _applicationProperties никогда не вызывался.
Мне интересно, правильно ли я это структурировал и как лучше всего это сделать. Моя цель - вызвать конструктор без параметров, но также установить _applicationProperties.
Любая помощь будет очень признательна.