我想在我的WinForms应用程序中使用Ninject。我无法弄清楚如何将它用于我的用户控件。有时候他们依靠我想通过DI框架配置的服务。这些控件需要通过设计器进行管理(因此需要默认构造函数)。使用Ninject将依赖项注入外部构造的对象(用户控件)
那么,有没有办法将依赖关系注入到此用户控件的属性中?由于设计人员需要能够构造它,因此kernel.Get<TestClass>
在这里不起作用。有没有一种方法或一些代码可以让我“填充”Form_OnLoad()
方法中的依赖关系?
我也可以想到其他例子,我想注入已经存在的对象的属性,但是WinForms用户控件是最容易解释的。
好吧,我看到控制器应该最终有依赖关系。我一直在做MVC,先创建View,然后创建Controller。由于用户控件总是要由表单或其他控件创建,所以应该沿着单独的路径创建控制器? – Nathan 2010-01-25 03:08:59
当我的myControl属性使用[Inject]属性时,我错误地使用kernel.Inject(myControl)? – Nathan 2010-01-25 03:14:47
只要您意识到这意味着需要依赖Ninject本身,您就可以做到这一点。使用'kernel.Inject(myControl)'的 – 2010-01-25 05:23:22