構建我們已經打了一個問題,我們想注入的依賴到已通過反射構造一個對象:Ninject注入對象通過反射
Type _type = Type.GetType(className, true, true);
ConstructorInfo _ctor = _type.GetConstructor(new[] { typeof(MyClass) });
IReg _reg = (IReg)_ctor.Invoke(new object[] { _myClass });
注射似乎並沒有使用在這裏發生的事情財產注入。這不可能嗎?我們如何解決這個問題? 謝謝。
這似乎是迄今爲止最好的方式。但是,我如何到達我的內核?創建一個新的?它在Web服務應用程序級別實例化(我們使用WCF擴展)。與綁定一起。我們的實例化邏輯在業務邏輯級別(不同的程序集)執行,它不知道它被Web服務使用。 – KirEvse
依賴注入模式是「經典抽象類工廠」+新特性(基於ctor/properties,對象生命週期...的接線依賴性)的泛化。因此它應該像抽象類工廠一樣使用:在安裝應用程序(例如:* main * function)中,您應該定義「類工廠」並將其作爲抽象傳遞給組件(例如:業務邏輯組件)。在我們的例子中,抽象類工廠是IKernel。如何將內核傳遞給你的程序集?將每個呼叫的實例傳遞給需要的業務。或者在您的業務邏輯程序集中爲其定義一個單例。 –
你將不得不找出一些方法來獲取內核。看看這個問題的遺留系統的一些想法http://stackoverflow.com/q/6562872/154477 – ryber