假设我有一个示例类助手
TSampleClassHelper = class helper for TSampleClass
public
procedure SomeHelper;
end;
我执行以下操作:
var
obj :TSampleClass;
begin
obj:=TSampleClass.Create;
obj.SomeHelper;
end;
这按预期工作。
但是我怎样才能使用 RTTI 来调用辅助方法呢?以下似乎不起作用,GetMethod
返回零。
var
obj :TSampleClass;
ctx :TRTTIContext;
rtype :TRTTIType;
rmethod :TRTTIMethod;
begin
obj:=TSampleClass.Create;
rtype:=ctx.GetType(obj.ClassType);
rmethod:=rtype.GetMethod('SomeHelper'); // rmethod is nil !
end;
那么 RTTI 不适用于类助手中定义的方法吗?有没有办法解决?
谢谢。