我制作了一个自定义 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;
我希望每个新列表都以其中的一个空白对象开始。这很简单,对吧?但是编译器不喜欢它。它说:
“无法在类型参数声明中创建没有 CONSTRUCTOR 约束的新实例”我只能假设这是与泛型相关的东西。任何人都知道发生了什么以及如何使这个构造函数工作?