Delphi 泛型:数组类型可以用作类型约束吗?

9cbw7uwe  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(140)

我有下面的代码无法编译,我找不到原因的解释。

TIndexArray<TType> = array of TType;

TIndexList<TArrayType; TType: TIndexArray<TArrayType>> = class
end;

上面写着
类型“TIndexArray”不是有效的约束。
但是如果TIndexArray是一个类而不是数组类型,它就可以工作。

0sgqnhkj

0sgqnhkj1#

数组类型不支持作为约束。这是记录的行为:
https://docwiki.embarcadero.com/RADStudio/en/Constraints_in_Generics
约束项包括:

  • 零个、一个或多个接口类型
  • 零个或一个类类型
  • 保留字“构造函数”、“类”或“记录”

没有提到数组类型。

相关问题