我正在尝试为类浏览开发简单的toolsapi插件。我可以找到所有vcl对象,我可以使用RTTI在备忘录中显示它的实现(代码定义)。
但是,我有一些麻烦;
- 如何判断班级是否抽象 - 我如何确定课程是否已密封 - 如何在一个具有可见性的类中找到嵌套类。
我正在使用Delphi XE5和RTTI(TRttiContext)。
我在我的项目源中使用了foolowing定义。
{$STRONGLINKTYPES ON}
{$RTTI EXPLICIT METHODS([vcPrivate, vcProtected, vcPublic, vcPublished]) PROPERTIES([vcPrivate, vcProtected, vcPublic, vcPublished]) FIELDS([vcPrivate, vcProtected, vcPublic, vcPublished])}
由于
答案 0 :(得分:4)
使用RTTI无法检索前两项内容(正如您在方法过载或覆盖时无法检索)。
要检索是否嵌套了类型,可以解析其名称,因为嵌套类型始终包含外部类型的名称。但是你再没有关于嵌套类型可见性的信息,因为RTTI不知道嵌套。