是否可以在Delphi中为泛型记录创建类型别名

是否可以在Delphi中为泛型记录创建类型别名,delphi,generics,Delphi,Generics,我想为一般记录定义一个记录类型(类型别名)。我希望这样做,以便b单元的用户可以在不使用a单元的情况下访问TMyGenericRecord。我有这样的单位: unit a; interface type TMyNormalRecord = record Item: Integer; end; TMyGenericRecord<T> = record Item: T; end; implementation end. unit b; interface

我想为一般记录定义一个记录类型(类型别名)。我希望这样做,以便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.
单元a;
接口
类型
TMyNormalRecord=记录
项目:整数;
结束;
tMyGeneriRecord=记录
项目:T;
结束;
实施
结束。
b股;
接口
类型
TMyNormalRecord=a.TMyNormalRecord;//作品
tmygenericord=a.tmygenericord;//此类型上不允许使用E2508类型参数
实施
结束。

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

这些措施包括:

  • 通用的,或
  • 通用的,或
  • 通用的

  • 好的,谢谢你的回答。真遗憾。对于泛型类,可能有一个解决方案(有一些问题,但解决方案是存在的)@DanielAndrascik,那里没有我称之为解决方案的东西。我所能看到的只是让事情变得更糟的代码!;-)