我发现一个
great explanation about the new RTTI in Delphi,但我不明白我读过的一件重要的事情 – 我在哪里可以使用?
它应该替代什么?
解决方法
扩展的RTTI的工作原理就像Reflection in .NET。它可以访问您的内部应用程序结构信息。您可以访问类属性,方法等。在运行时,您以前无法执行的范围。
一些使用它的方法:
>将类序列化/反序列化为XML或其他媒体
>将对象映射到数据库。 ORM。
>克隆物体
>动态调用方法
>在运行时对象进行“扫描”,并根据操作进行操作。
>“插件”型系统的开发更容易
可能有很多情况下使用它将是有益的。简而言之,它为您的应用程序添加动态方面。您的产品能够在运行时做一些事情,而且比设计时的设计更有效率。它不是一个银弹,很多人可能永远不会使用它。但是,一些设计模式或一些问题不能解决(至少不是有效的方式),而不使用新的RTTI