您可以看到我正在尝试(但失败)执行以下代码:
protected T GetObject()
{
return new T();
}
任何帮助将不胜感激。
编辑:
上下文如下。我正在使用自定义控制器类,使用标准化方法为所有控制器派生自定义控制器类。因此,在上下文中,我需要为控制器类型的对象创建一个新实例。因此,在撰写本文时,它类似于:
public class GenericController<T> : Controller
{
...
protected T GetObject()
{
return (T)Activator.CreateInstance(ObjectType);
}
public ActionResult Create()
{
var obj = GetObject()
return View(obj);
}
因此,我认为在这里进行反思最容易。我同意,当然,考虑到问题的最初陈述,标记为正确的最合适答案是使用new()约束的答案。我已经解决了。
27
不,我看不到您在尝试什么和做不到的事情。我看到一段代码可能是一个工作程序的一部分,没有上下文,没有错误消息,也没有解释。
—
Ben Voigt
糟糕,选择错误答案后,我会讨厌它!
—
David Heffernan