请问delphi中这样的语句是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/07/04 02:29:23
TfsGetValueEvent = function(Instance: TObject; ClassType: TClass;
const PropName: String): Variant of object;
怎么是一个类等于一个方法呢,而且没有看到它的实现体?

这是一个方法类型的指针的声明,在这儿,它本身没有实现体。
为便于你的理解,给你一个例子:

Type
TA=class
private
FOnGetValue:TfsGetValueEvent ;
public
procedute executeEvent()
published
//声明一个事件
Property onGetValue:TfsGetValueEvent read FOnGetValue write
FOnGetValue;
end;

procedute TA.executeEvent(){
//根据实际情况触发事件...
if assigned(FOnGetValue) then
FOnGetValue(self,self.ClassType,'GetValue');
}

定义一个数据类型TfsGetValueEvent,它是代表一个函数变量。常常用于回调函数中做变量用。