我创建了一个定制的TObjectList子类,用于保存基本对象类的子类。它看起来像这样:
我希望每个新列表都以一个空对象开始。这很简单,对吧?但编译器不喜欢它。它说:“无法在类型参数声明中创建没有构造函数约束的新实例。”我只能假设这与泛型有关。有人知道发生了什么事情,我该如何使此构造函数起作用吗?
interface
TMyDataList<T: TBaseDatafile> = class(TObjectList<TBaseDatafile>)
public
constructor Create;
procedure upload(db: TDataSet);
end;
implementation
constructor TMyDataList<T>.Create;
begin
inherited Create(true);
self.Add(T.Create);
end;
我希望每个新列表都以一个空对象开始。这很简单,对吧?但编译器不喜欢它。它说:“无法在类型参数声明中创建没有构造函数约束的新实例。”我只能假设这与泛型有关。有人知道发生了什么事情,我该如何使此构造函数起作用吗?