我想在我的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