如何在ninject di和winforms中使用无参数构造函数
我正在开发一个WinForm应用程序,使用ninject进行依赖注入。我的第一个问题是被实例化的表单有一个参数(对于DI)。我添加了一个无参数构造函数,认为这会有所帮助。现在的问题是,带参数的构造函数中的代码被跳过。下面是它的样子: 在我的主要表格上:如何在ninject di和winforms中使用无参数构造函数,winforms,constructor,ninject,Winforms,Constructor,Ninject,我正在开发一个WinForm应用程序,使用ninject进行依赖注入。我的第一个问题是被实例化的表单有一个参数(对于DI)。我添加了一个无参数构造函数,认为这会有所帮助。现在的问题是,带参数的构造函数中的代码被跳过。下面是它的样子: 在我的主要表格上: private void mnuSettings_Click(object sender, System.EventArgs e) { frmSettings objForm = new frmSettings(); objForm.
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
任何帮助都将不胜感激。我猜您可能期望在大楼中安装Ninject将使
新的
与正常的工作方式不同。它不是-你需要做一个内核。解析,DI才能启动。请注意,这些陷阱中的大多数都在
您能否编辑您的答案,以包含您在本表之外所做工作的详细信息
同时,以下是一些之前的问题,这些问题有很大的重叠:-
FRM设置objForm必须按容器注册和解析。