【发布时间】:2010-11-02 02:40:16
【问题描述】:
我有许多继承自 Item<T> 的类。
每个类都有一个 Create() 方法,我想将其移至 Item<T>。
但以下代码得到错误“无法创建变量类型 'T' 的实例,因为它没有 new() 约束”:
T item = new T(loadCode);
更正语法是什么?
public abstract class Item<T> : ItemBase
{
public static T Create(string loadCode)
{
T item = new T(loadCode);
if (!item.IsEmpty())
{
return item;
}
else
{
throw new CannotInstantiateException();
}
}
【问题讨论】:
标签: c# generics inheritance