Да, проверил. Это действительно так. То, что так сделано в C# - весомый аргумент.
using System;
class MainClass
{
public static int Method()
{
return 1;
}
public static void Main (string[] args)
{
var x = Method;
var y = Method();
Console.WriteLine($"{x}, {y}");
}
}
main.cs(12,5): error CS0815: An implicitly typed local variable declaration cannot be initialized with `method group’
Нет, именно того же самого. Вы сейчас говорите о какой-то экзотике ради совместимости с привычной для С-языков возможностью что-то там для делегатов писать. И предлагаете ради этого обрубить в Pascal привычное средство языка Pascal. Это неразумно.
Вы уже спрашивали, я уже отвечал, зачем повторяться?
Вы последнее время стали апеллировать к сказанному @Admin, теперь моя очередь. Он в соседней ветке сегодня предложил вместо болтовни заниматься делом. Хороший совет и я ему сейчас последую))))
У нас такое решение: везде где это возможно - вызов. Ссылка - только если мы ее явно присваиваем делегату соответствующего типа. Хуже когда функция возвращает функцию.
function f: ()->()->integer := ()->begin Result :=()->1; end;
begin
var x: ()->integer;
x := f;
x := f();
x := f()();
Print(x.GetType);
var y : ()->()->integer;
y := f;
y := f();
y := f()();
Print(y.GetType);
end.