6

我想为通用记录定义一个记录类型(类型别名)。我想这样做,以便单元 b 的用户可以在不使用单元 a 的情况下访问 TMyGenericRecord。我有这样的单位:

unit a;
interface
type
  TMyNormalRecord = record
    Item: Integer;
  end;
  TMyGenericRecord<T> = record
    Item: T;
  end;
implementation
end.

unit b;
interface
type
  TMyNormalRecord = a.TMyNormalRecord;  // works
  TMyGenericRecord<T> = a.TMyGenericRecord<T>; // E2508 type parameters not allowed on this type
implementation
end.
4

1 回答 1

4

这个问题的简单答案是该语言不支持泛型类型别名。

唯一可以使用泛型参数的地方是:

  1. 泛型类、接口、记录和数组类型,或
  2. 通用程序类型,或
  3. 通用方法
于 2013-04-22T15:10:20.850 回答