delphi - 为什么要宣布成员公开而不是公开?

标签 delphi rtti

将成员声明为published优于public


能够在IDE的对象Insepoctor中读取/写入成员
RTTI and its uses


那么,声明成员public而不是published有好处吗? published有什么缺点吗?还是应该总是声明成员published



PS:不是重复的;在发布问题之前,我先阅读了该问题及其所有答案。 “可能重复”问题说明了两个关键字之间的区别,但未给出何时应使用其中一个或使用其中一个的优缺点的指导。

最佳答案

声明为已发布会带来存储成本,因为可执行文件的大小已膨胀以包含RTTI。宣布为公众可避免该费用。不太可能会变得无关紧要,特别是考虑到现代Delphi可执行文件的巨大规模,因为它们包含大量甚至无法执行的代码。

对于可以在对象检查器中编辑的组件,publicpublished之间的区别更为明显。如您所说,这是组件确定哪些属性在对象检查器中可见的方式。一些属性应该在那里可见,而其他属性则不可见。用户“ TLama”给出了需要公开但不能在对象检查器中编辑的属性的精美示例:ParentHandle等。

除此之外,还取决于意见。完全由您决定要做什么。

关于delphi - 为什么要宣布成员公开而不是公开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32098707/

相关文章:

delphi - 如何将动态数组作为无类型常量传递?

delphi - 作为函数结果的记录的奇怪行为

德尔福RTTI : Get property's class

c++ - 使用 strip 会删除二进制文件上的 RTTI 信息吗?

delphi - Delphi:如何获取静态记录的地址

delphi - 如何在Windows Azure云平台上运行Delphi 6可执行文件(需要教程/示例)?

delphi - Firemonkey TListBox.OnClick - 单击了哪个项目?

delphi - 使用 ADO 从 Delphi 向 SQL Server 2000 插入 NULL

c++ - 如何在 Visual Studio 2008 中关闭 RTTI

delphi - 作为函数结果的属性具有空属性值?