gpt4 book ai didi

delphi - 为什么应该避免在应用程序代码中使用 ClassType?

转载 作者:行者123 更新时间:2023-12-03 14:45:39 27 4
gpt4 key购买 nike

Delphi 在线文档说

"Avoid using ClassType in application code".

但是有很多地方需要类类型。例如,当程序使用 System.Contnrs 类时。 TClassList ,我需要一个对象的 ClassType 将其传递到 IndexOf() 的参数中。

ClassType 文档中提出此建议的原因是什么?

最佳答案

给出此建议的最明显原因是针对想要编写如下代码的程序员:

if obj.ClassType = TStringList then
....

仅当对象的类是 TStringList 时,该条件才会评估为 true。但是,您通常希望为 TStringList 及其任何后代运行条件代码。在这种情况下,你可以这样写:

if obj is TStringList then
....

如果您需要知道实例是什么类,那么您应该使用ClassType。如果您在 TClassList 实例中维护类列表,则可以随意使用 ClassType 来获取实例的元类。

关于delphi - 为什么应该避免在应用程序代码中使用 ClassType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16896039/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com