我不确定这是否是一些一般性问题,或者是因为 Spring4D 实现,但我不能使用默认参数值来创建比较器。
type
TMyClass = class
class function MyComparer(AParam: Boolean = False): IComparer<TMyClass>;
end;
implementation
class function TMyClass.MyComparer(AParam: Boolean): IComparer<TMyClass>;
begin
Result := TComparer<TMyClass>.Construct(
function (const L, R: TMyClass): Integer
begin
Result := 0;
end);
end;
当我创建一个没有指定参数的列表时,我收到一条关于缺少参数的错误消息。
TCollections.CreateSortedObjectList<TMyClass>(TMyClass.MyComparer);
E2035 实际参数不足
但是,如果没有任何参数或指定所有参数,它就可以工作。有什么理由我不能这样做吗?