Delphi自定义通用列表

时间:2014-05-15 05:32:34

标签: delphi generics

有人可以告诉我为什么我会得到

  

不兼容的类型:' TChild'和TChild'

等级
 TBase = class (TObject)
 end;

 TMyList<T: TBase> = class(TObjectList<T>)
 end;

当我从基类声明一个子项并尝试创建TChild列表时出现错误。

TChild = class (TBase)
end;

TChildList = TMyList<TChild>;

1 个答案:

答案 0 :(得分:4)

问题中的代码很好。这是一个证明,一个完整的程序,编译:

program Project1;

{$APPTYPE CONSOLE}

uses
  System.Generics.Collections;

type
  TBase = class (TObject)
  end;

  TMyList<T: TBase> = class(TObjectList<T>)
  end;

  TChild = class (TBase)
  end;

  TChildList = TMyList<TChild>;

begin
end.

显然,您需要编辑问题以发布显示故障的代码。请随意使用上述内容作为模板,以了解如何提供Delphi语言SSCCE