どうやってこのような状況に陥ったのか、聞かないでください。というクラスがあるとしましょうccollection
。
このクラスには、実行時に次の属性があります。
ccollection.a.b.x = 1
ccollection.a.b.y = 3
ccollection.a.b.z = 4
...
ccollection.a.c = 3
ccollection.b = 3
このクラスは、上記のように動的にセットアップされます。そのため、事前にクラスの属性を知る方法はありません。
次に、このクラスのすべての属性を出力したいと思います。次に例を示します。
ccollection.a.b
印刷する必要があります
ccollection.a.b.x = 1
ccollection.a.b.y = 3
ccollection.a.b.z = 4
そして
ccollection.a
印刷する必要があります
ccollection.a.b.x = 1
ccollection.a.b.y = 3
ccollection.a.b.z = 4
ccollection.a.c = 3
私はあなたがアイデアを得ると思います。各印刷は、同じレベル以下のすべての要素の印刷を開始する必要があります。すべての属性を再帰的にトラバースする方法を探しています (これはツリーのようなデータ構造です)