2

假设我们有以下代码片段:

TMyType = Pointer;

TMyClass = class
    procedure myMethod (argument : TMyType);
end;

我一直在使用 Rtti 来反映这样一个类,以便我可以写出包括参数类型在内的方法签名。但是,当我对此使用 Rtti 时,我得到:

TMyClass = class
    procedure myMethod (argument : Pointer);
end;

那不是获得名称 TMyType,而是获得指针。我正在使用 ParamType.name 来获取参数类型的名称。

我的问题是,无论如何要获取开发人员实际声明参数的类型的名称,即 TMyType?由于 ParamType.name 不返回预期的类型名称,我假设未在类中声明的类型没有 Rtti 信息?

使用德尔福 XE

4

1 回答 1

1

Sertac Akyuz 和 Remy Lebeau 都回答了这个问题。我在下面提供答案:

声明一个类型而不是别名 TMytype = type Pointer

于 2013-05-26T17:22:54.433 回答