你可以看到我想要什麼(但沒有),用下面的代碼做:C#創建新T()
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()約束的答案。我已經解決了這個問題。
不,我沒有看到你想要什麼,並沒有做。我看到一段代碼可能是工作程序的一部分,沒有上下文,沒有錯誤信息,也沒有解釋。 –
唉,我討厭它,當選擇錯誤的答案! –
請添加上下文。 – James