mjn*_*mjn 5 delphi rtti class-helpers delphi-2010
Delphi 2010中的扩展RTTI是否提供了在运行时列出已定义的类和记录助手的方法?
据我所知,当为一个类定义了多个类助手时,Delphi 没有显示提示或警告,在"质量保证"中,类助手检测可能是一个有用的例程.
ps当然我知道我永远不应该使用没有源代码的第三方组件或库,这将使grep类助手变得容易.
由于类帮助程序仅根据作用域中"最接近"的帮助程序应用于类,因此类无法知道帮助程序是否存在.例如,您可以在单元中创建一个类助手,以"帮助"另一个没有源的单元的类.另一个单位的班级对任何助手都没有任何线索.如果它确实有这方面的知识,那么就必须重新编译以考虑到这一点......这导致了下一个问题;
考虑一下:您可以在一个公共单元中声明一个类,该单元在整个应用程序中被许多其他单元使用.在每个单元中,您使用不同的方法和"辅助"函数为此公共类声明一个新的帮助器.由于每个单位都不知道其他单位也宣称他们自己的帮助,因此,设计上没有办法以某种方式合并所有助手.现在考虑这个常见的单元现在存在于预编译的包边界中.
班级助手是诱人的小异教徒.他们承诺名声和财富,但他们往往会降低死亡和毁灭......很久以后,你已经把自己淹没了他们的诡计.
出于这个原因,他们对语言的介绍解决了非常具体的问题,即"出现"将功能引入现有框架的能力.只要您遵守"仅一个帮助者"规则,并且不偏离该路径,您就可能相对毫发无损地出现.无论如何,你将需要Beowulf,Leonidas(斯巴达)和Frodo Baggins的综合肠道坚韧才能在这些水域中航行.
鉴于此,在RAD Studio团队中,我们不愿意使用可以避免的类帮助程序.当我们使用它们时,在我们开始之前就会形成一个合适的方阵......
这里有龙......