我有一个正在处理的项目,我不知道在编译时需要实例化什么类。我正在尝试使用 Activator.CreateInstance() 根据用户输入为我生成一个新类。下面的代码运行良好,但我不得不将我的 INECCQuery 类的构造函数更改为只有一个默认构造函数,并且不使用任何类型的依赖注入。有没有办法我仍然可以使用我的注入绑定和 Activator.CreatInstance()?我正在使用 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");
}