我們在第三篇中學習裏一個簡易的IoC框架。今天我們接着上次的程序,實現帶參數構造函數對象的實例和屬性的注入 。
我們知道可以通過反射獲取類的構造函數及參數(GetConstructors方法);可以獲取屬性和屬性的類型(GetProperties方法)。通過Activator的CreateInstance(Type type, params object[] args)方法可以創建帶參數構造函數的實例。通過SetValue方法可以給屬性賦值,這樣一來,我們就上次的代碼稍加改造就可以實現屬性的注入了。
下面是完成的代碼: