加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

元类默认参数值(Delphi 2009)

发布时间:2020-12-15 09:30:33 所属栏目:大数据 来源:网络整理
导读:我想在metaclass参数中给出一个默认值: type TMyClass = class end;type TMyClassMetaClass = class of TMyClass;procedure MyProcedure(const AMetaClass: TMyClassMetaClass = TMyClass); 有可能的?在Delphi2009中它给出了错误:E2026预期的常量表达式
我想在metaclass参数中给出一个默认值:

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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读