可以說我有一個樣本類幫手德爾福類助手RTTI GetMethod
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不適用於類助手中定義的方法嗎?有沒有辦法解決?
謝謝。
我明白了,但在我的現實生活中的代碼我測試了「的someMethod」對任意對象。我不知道對象是否有通過助手定義的方法。所以我想這對通過類助手定義的'SomeMethod'不起作用。好吧。 –