首页 > 解决方案 > 如何定义一组匿名方法

问题描述

我想定义一个匿名方法数组TFunc<Integer>::

function MyFunc: Integer;
begin

end;

procedure TForm84.Button1Click(Sender: TObject);
var A: TArray<TFunc<Integer>>;
begin
  A := [MyFunc];
end;

但是Delphi编译提示错误:

[dcc32 Error] E2010 Incompatible types: 'System.SysUtils.TFunc<System.Integer>' and 'Integer'

将数组用于本机数据类型integerstring适用于类似构造。

标签: delphi

解决方案


编译器无法决定您使用的MyFunc方法是调用函数还是将其称为函数。

因此,您可能需要帮助编译器:

SetLength(A, 1);
A[0] := MyFunc;

推荐阅读