Listando as propriedades de uma classe
Segue um código (pascal/Delphi) que criei para listar as propriedades que pertencem a uma classe.
O código usa a RTTI do Delphi para “percorrer” as propriedades. A procedure é recursiva, ou seja, se uma das propriedades for também um classe, a procedure chama ela mesma passando como parâmetro a classe da propriedade encontrada.
Para compilar o código abaixo, crie uma nova aplicação VCL e no form principal coloque um TMemo e um TButton, e configure os eventos conforme o código abaixo.
Substitua o segundo parâmetro da chamada a getPropList pela classe que deseja “vasculhar”. O terceiro parâmetro é o quão “profundo” você deseja ir em relação as iterações quando uma propriedade encontrada for uma classe.