首页 > 代码库 > 回调函数的本质,就是把函数当作参数(首先要定义函数类型)
回调函数的本质,就是把函数当作参数(首先要定义函数类型)
//把一个方法当作另一个方法的参数, 就是回调方法, 大家习惯称作回调函数type TFunType = function(i: Integer): Integer; {声明一个方法类型}function MyFun(i: Integer): Integer; {建立类型兼容的函数}begin Result := i*2;end;{把函数当作参数, 再定义一个函数}function MyTest(x: Integer; F: TFunType): Integer;begin Result := F(x);end;{测试}procedure TForm1.Button1Click(Sender: TObject);var Fun: TFunType; {声明一个 TFunType 的变量} i: Integer;begin Fun := MyFun; {让方法变量 Fun 指向和它类型兼容的一个方法} {测试 Fun; Fun 是一个方法变量, 现在去执行那个方法, 它就可以当作那个方法来使用了} i := Fun(4); ShowMessage(IntToStr(i)); //8 {把 Fun 当作参数使用; 把函数当作参数使用, 这就是回调函数} i := MyTest(4,Fun); ShowMessage(IntToStr(i)); //8end;
http://www.cnblogs.com/del/archive/2008/01/15/1039476.html
回调函数的本质,就是把函数当作参数(首先要定义函数类型)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。