gpt4 book ai didi

delphi - 使用 RTTI 从类中获取常量字段

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

我可以枚举类中的常量吗?

我已经尝试过

MyClass = class
const
c1 = 'c1';
c2 = 'c2';
c3 = 'c3';
end;

procedure GetConst();
var
ctx: TRttiContext;
objType: TRttiType;
field: trttifield;
s: string;
begin
ctx := TRttiContext.Create;
objType := ctx.GetType(MyClass.ClassInfo);
for field in objType.GetDeclaredFields do
s:= field.Name;
end;

我想要c1,c2,c2。

这可能吗?

编辑:我想做的是为一些外部符号定义一些键(对于 cad 程序)

symbol1=class
const
datafield1='datafield1';
datafield2='datafield2';
end;
symbol2=class
const
datafield21='datafield21abc';
datafield22='datafield22abc';
end

我不喜欢为此使用字段,因为我不喜欢分开声明和初始化。我无法使用枚举,因为我无法将值定义为字符串。

最佳答案

您无法通过 RTTI 获取这些常量。我怀疑你最好的解决方案是使用属性。这不仅对实际工作有好处,而且我认为这听起来像是解决您问题的更清晰、更简单的解决方案。

关于delphi - 使用 RTTI 从类中获取常量字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12531178/

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