假设我们有以下代码片段:
TMyType = Pointer;
TMyClass = class
procedure myMethod (argument : TMyType);
end;
我一直在使用 Rtti 来反射(reflection)这样一个类,以便我可以写出包括参数类型的方法签名。然而,当我对此使用 Rtti 时,我得到:
TMyClass = class
procedure myMethod (argument : Pointer);
end;
这就是我得到的不是名称 TMyType,而是 Pointer。我使用 ParamType.name 来获取参数类型的名称。
我的问题是,是否有办法获取开发人员实际声明参数的类型的名称,即 TMyType?由于 ParamType.name 不返回预期的类型名称,我假设未在类中声明的类型没有 Rtti 信息?
使用德尔福XE
最佳答案
Sertac Akyuz 和 Remy Lebeau 都回答了这个问题。我提供以下答案:
声明类型而不是别名 TMytype = type Pointer
关于delphi - Rtti ParamType 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16761571/