Iva*_*nov 19 delphi attributes rtti delphi-2010
我在Delphi中找到了关于新RTTI的一个很好的解释,但我不明白我读过的所有重要内容 - 我在哪里可以使用它?
它应该取代什么?
Run*_*ner 20
扩展的RTTI就像在.NET中的Reflection一样.它使您可以访问内部应用程序结构信息.您可以在运行时访问类属性,方法等.在以前无法执行的范围内.
一些使用方法:
可能有很多情况下使用它会有所帮助.简而言之,它为您的应用添加了动态方面.与在设计时设计所有内容相比,您的产品能够在运行时更有效地完成某些任务.它不是一颗银弹,许多人可能永远不会使用它.但是,如果不使用新的RTTI,一些设计模式或某些问题就无法解决(至少不能有效解决)
扩展RTTI可能有用的一个例子:
直到今天,必须发布表单属性,因为这种可见性是序列化/反序列化Delphi表单文件(dfm)所必需的.
通过扩展RTTI,Delphi可以使用不需要高可见性的新流层.当然,这只是一个想法,但实际上有一个优点,即表单上的所有组件都可以是私有的或受保护的.这将是更多的OOP(封装)并消除由外部可见的表单字段/属性列表中的数十个不相关条目引起的"噪声".
例如,Delphi Spring Framework Delphi需要Delphi 2010(或更高版本),因为它大量使用RTTI,可用于构造函数注入.