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

delphi – 如何获取TRTTIParamter的默认值

发布时间:2020-12-15 04:30:57 所属栏目:大数据 来源:网络整理
导读:我有这门课: TMyClass = classpublic function DoSomethingNice(const Value: string = 'Yes please!'): Boolean;end; 现在,使用RTTI,是否可以获取方法DoSomethingNice的参数值的默认值?如果是这样,怎么样? 我最感兴趣的是D2010解决方案,但XE也会这样做.
我有这门课:
TMyClass = class
public
  function DoSomethingNice(const Value: string = 'Yes please!'): Boolean;
end;

现在,使用RTTI,是否可以获取方法DoSomethingNice的参数值的默认值?如果是这样,怎么样?

我最感兴趣的是D2010解决方案,但XE也会这样做.

解决方法

这是不可能的,因为RTTI没有关于默认参数的信息.
默认参数值仅在编译时使用

所以,如果我们……
程序测试(x:整数= 3)
然后调用没有参数值的方法:
test()然后它将被编译为test(3)

检查一下你可以在调试器中打开CPU窗口:
和test()看起来像

mov  eax,$00000003
 call test

(编辑:李大同)

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

    推荐文章
      热点阅读