gpt4 book ai didi

delphi - 我对 Delphi-RTTI 有一些麻烦(抽象类、密封类等)

转载 作者:行者123 更新时间:2023-12-03 15:28:47 32 4
gpt4 key购买 nike

我正在尝试开发简单的toolsapi插件用于类浏览。我可以找到所有 vcl 对象,并且可以使用 RTTI 在备忘录中显示其实现(代码定义)。

但是,我有一些麻烦;

- 我如何确定类是否是抽象的。
- 我如何确定类(class)是否密封。
- 我怎样才能在一个类中找到嵌套类及其可见性。

我正在使用带有 RTTI (TRttiContext) 的 Delphi XE5。

我在我的项目源代码中使用了愚蠢的定义。

{$STRONGLINKTYPES ON}
{$RTTI EXPLICIT METHODS([vcPrivate, vcProtected, vcPublic, vcPublished]) PROPERTIES([vcPrivate, vcProtected, vcPublic, vcPublished]) FIELDS([vcPrivate, vcProtected, vcPublic, vcPublished])}

谢谢

最佳答案

前两件事无法使用 RTTI 检索(就像无法检索方法是否重载或覆盖一样)。

要检索类型是否嵌套,您可以解析其名称,因为嵌套类型始终包含外部类型的名称。但是您同样没有有关嵌套类型可见性的信息,因为 RTTI 不知道嵌套。

关于delphi - 我对 Delphi-RTTI 有一些麻烦(抽象类、密封类等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23890731/

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