我试图找出是否有办法做类似于Delphi的增强型RTTI功能.
据我所知,FPC不提供自Delphi 2010以来Delphi中出现的RTTI功能.但我想找到一些方法在运行时做一些技巧.
typinfo在FPC中使用单位我可以做以下事情:
getPropList来自typinfo单元;GetPropValue(...): Variant/ SetPropValue(...Value: Variant);MethodAddres;但我还没有办法做一些事情,比如:
更新:构造函数的问题很像方法一 - 我希望有一种方法可以传递不同的参数:
// concept of code
type
TClass = class of TObject;
TMyClass1 = class
public
constructor Create(Param1: Integer; Param2: string); override;
end;
TMyClass2 = class
public
constructor Create(ObjectParam: Object); override;
end;
TParams = array of Variant;
var
Classes: array of TClass
Instances: array of Object;
ParamArray: array of TParams; …Run Code Online (Sandbox Code Playgroud)