Delphi 将方法以参数的形式传递

欢迎加入全网最大Delphi 技术交流群 682628230

RAD Studio 10.2.3 测试√ 

 代码:

procedure TForm_Tips.Button_ParamIsFuncClick(Sender: TObject);
type   // 需要先声明一个方法的类型
  TFuncType = function(ANum: Integer): Integer;

  function Func01(n: Integer): Integer;
  begin
    Result := n + 1;
  end;

  function Func02(n: Integer): Integer;
  begin
    Result := n + 2;
  end;

  function TestFunc(ANum: Integer; AFunc: TFuncType): string;
  begin
    Result := IntToStr(AFunc(ANum));
  end;
begin
  Memo_Log.Lines.Add(TestFunc(1, @Func01));
  Memo_Log.Lines.Add(TestFunc(2, @Func02));
  Memo_Log.Lines.Add(TestFunc(3, @Func01));
  Memo_Log.Lines.Add(TestFunc(4, @Func02));
end;

 

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享