我想在元类参数中提供默认值:
type
TMyClass = class
end;
type
TMyClassMetaClass = class of TMyClass;
procedure MyProcedure(const AMetaClass: TMyClassMetaClass = TMyClass);
有可能的?在Delphi2009中,它给了我错误:E2026预期的常量表达式
最佳答案
根据语言规则,元类不是常量表达式。因此,最好的选择是使用重载:
procedure MyProcedure(const AMetaClass: TMyClassMetaClass); overload;
procedure MyProcedure; overload;
并在执行中:
procedure MyProcedure(const AMetaClass: TMyClassMetaClass);
begin
....
end;
procedure MyProcedure;
begin
MyProcedure(TMyClass);
end;
关于delphi - 元类默认参数值(Delphi 2009),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31080978/