我有一個項目,我正在努力,我不知道什麼類我需要在編譯時實例化。我試圖根據用戶輸入使用Activator.CreateInstance()爲我生成一個新類。下面的代碼運行良好,但我不得不將我的INECCQuery類的構造函數更改爲只有默認構造函數,並且不使用任何依賴注入。有沒有辦法我仍然可以使用我的注入綁定和Activator.CreatInstance()?我正在使用Ninject進行注射。Activator.CreateInstance和Ninject
[HttpGet]
public ActionResult Index(string item) {
Type t = Type.GetType(string.Format("Info.Audit.Query.{0}Query, Info.Audit", item.ToUpper()));
if (t != null) {
INECCQuery query = (INECCQuery)Activator.CreateInstance(t);
var results = query.Check();
return View("Index", results);
}
return View("Notfound");
}
@zespri,你如何區分'Activator.CreateInstance'和「通過反射構造對象」? –