У меня нет Spring4D для тестирования, но я предполагаю, что происходит что-то похожее на this , где синтаксические правила Delphi, допускающие пропуск скобок при выполнении метода, который не принимает параметров, вводятнеоднозначность.Здесь, где вы делаете:
TCollections.CreateSortedObjectList<TMyClass>(TMyClass.MyComparer);
... компилятор не может быть уверен, если вы хотите передать метод MyComparer
напрямую (к перегрузке CreateSortedObjectList
, которая принимает тип указателя методаTComparison<T>
) или вы хотите выполнить метод и передать возвращаемое значение.В этом случае вы хотите сделать последнее, так что вы можете быть явным для компилятора и включать скобки
TCollections.CreateSortedObjectList<TMyClass>(TMyClass.MyComparer());