假设我有一个样本类helper
TSampleClassHelper = class helper for TSampleClass
public
procedure SomeHelper;
end;
我做以下工作:
var
obj :TSampleClass;
begin
obj:=TSampleClass.Create;
obj.SomeHelper;
end;
这段代码预期结果如下。
但是如何使用RTTI调用辅助方法呢?以下尝试不起作用,GetMethod
返回值为nil。
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对于类助手中定义的方法无效吗?有没有什么解决方法?
谢谢。