gpt4 book ai didi

delphi - 如何使用 RTTI 获取数组的元素类型

转载 作者:行者123 更新时间:2023-12-03 15:19:40 25 4
gpt4 key购买 nike

我使用此代码来获取数组的元素类型

{$APPTYPE CONSOLE}    
uses
Rtti,
SysUtils;

type
TFooArray= array of TDateTime;

Var
T : TRttiType;
begin
try
T:=TRttiContext.Create.GetType(TypeInfo(TFooArray));
Writeln(TRttiArrayType(T).ElementType.Name);
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.

但是应用程序因该行的访问冲突而失败

Writeln(TRttiArrayType(T).ElementType.Name);

如何使用 RTTI 获取数组的元素类型?

最佳答案

您的转换是错误的,TRttiArrayType 适用于静态数组(并且您的数组是动态的),要解决此问题,请使用 TRttiDynamicArrayType相反,像这样:

 Writeln(TRttiDynamicArrayType(T).ElementType.Name);

关于delphi - 如何使用 RTTI 获取数组的元素类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8685921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com