如何程序获取自定义函数的函数名称?(100分)

  • 主题发起人 主题发起人 guilinlzy
  • 开始时间 开始时间
G

guilinlzy

Unregistered / Unconfirmed
GUEST, unregistred user!
假设有一函数如下:
function MyFunction(const strPara1: WideString) :WideStrig ;
begin
//如何获取我上面定义的函数的函数名称MyFunction(要求唯一确定性)
end;

参数不用管,只要能获取函数名称就行了。
 
奇怪要求的。
近似解:如果是对象的published方法,可以用如下手段得到方法的名称:

var
m:TMethod;
Obj:TObject;
AString:string;
begin
m:=TypInfo.GetMethodProp(Button1,'OnClick');
Obj:=TObject(m.Data);
AString:=Obj.MethodName(m.Code);
Memo1.Lines.Add(AString);
end;
 
的确是很奇怪的要求,不过你把要求的注释写在函数体里面,该不会是想用函数名称来返回值吧?如果是那样的话用Result就好啦,每个函数都可以用这个名字的变量来作返值。
 
你这个问题说的不清楚,如果要在运行期获得某函数的名称且这个函数不属于类中的published部分,那就不可能有答案。如果是声明在published部分或是接口的函数,还是有办法获得其名称和入出口参数的相关信息
 
后退
顶部