如何在德尔福中初始化泛型记录的常量数组



在Delphi中,我可以初始化一个常量的非泛型记录数组,如下所示:

type
TMapEntry = record
Key: Integer;
Value: Integer;
end;
const
Arr: array[0..0] of TMapEntry = ((Key: 1; Value: 10));

但是当我尝试以更通用的方式扩展代码时,我无法初始化常量数组:

type
TMapEntry<KeyType, ValueType> = record
Key: KeyType;
Value: ValueType;
end;
const
Arr: array[0..0] of TMapEntry<Integer, Integer> = ((Key: 1; Value: 10)); //<-- Compile error

我什至尝试使用类型别名,但遇到了相同的编译错误:

type
TIntMapEntry = TMapEntry<Integer, Integer>; 
const
Arr: array[0..0] of TIntMapEntry = ((Key: 1; Value: 10)); //<-- Compile error

有没有办法初始化通用记录的常量数组?

PS:我正在使用德尔福10.3

有没有办法初始化泛型记录的常量数组?

不。不幸的是,这是编译器的限制。

最新更新