gpt4 book ai didi

delphi - 如何使用RTTI在Delphi中获取访问字段?

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

考虑以下因素:

TFieldType = class
fValue: string;
end;

TMainClass = class
private
Ffield: TFieldType;
public
function GetValue: string;
end;

在 TMainClass.GetValue 中,我尝试获取 TMainClass 字段的值:

function TMainClass.GetValue;
begin
vCtx := TRTTIContext.Create;
vType := vCtx.GetType(Self.ClassInfo);
for vField in vType.GetFields do
vField.GetValue(
//Here's the trouble, because i don't know how to get the instance
);

可能还有其他方法来获取作为其他类实例的字段的值吗?

最佳答案

您必须将实例作为 GetValue 的参数传递,例如

vField.GetValue(self);

为了更好地了解 Rtti,请阅读 remarkable articles about RTTI作者:罗伯特·洛夫。对于这个问题,特别是这个关于Properties and Fields .

关于delphi - 如何使用RTTI在Delphi中获取访问字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1553239/

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