当前位置:  开发笔记 > Android > 正文

Delphi中对象的RTTI

如何解决《Delphi中对象的RTTI》经验,为你挑选了1个好方法。

我试图在Delphi中将对象解析为XML,所以我读到了调用对象的ClassInfo方法以获取其RTTI信息.

问题是,这显然只适用于TPersistent对象.否则,我必须在编译器的源代码中专门添加编译器指令{$ M +}以生成RTTI信息.

所以我很高兴地添加了该指令,只是为了发现它,即使它确实从ClassInfo调用返回了一些东西(它曾经返回nil),现在我无法从中检索类的属性,字段或方法.这就像它创建了对象为空.

知道我在这里缺少什么吗?谢谢!



1> gabr..:

您是否将这些属性和方法放入该published部分?

除此之外,'经典'RTTI($ TYPEINFO ON)只会获取有关属性的信息,而不是方法.你需要'扩展'RTTI($ METHODINFO ON).

扩展RTTI的良好起点:David Glassborow关于扩展RTTI

(谁会相信这一刻我写完了一些使用扩展RTTI的代码并决定稍微浏览Stack Overflow :))

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有