クラスのプロパティを列挙する方法
ActionScript3.0で、クラスのプロパティを列挙したい。
「列挙するなら配列でやってよ」ってことなんでしょうが(苦笑)
public class Hoge { public var a:String; public var b:String; public function Hoge () { } } var hoge:Hoge = new Hoge(); hoge.a = "foo"; hoge.b = "bar"; for (var key:String in hoge) { trace(key + ":" + hoge[key]); }
上記コードだと1つもトレースが出ません。
なんかアレだなと思うのですが、toObject()みたいなメソッドで変換してあげれば何とかなります。
他にいい方法ないですかね...
public class Hoge { public var a:String; public var b:String; public function Hoge () { } /** * Objectに変換 */ public function toObject():Object { return { a:a, b:b }; } } var hoge:Hoge = new Hoge(); hoge.a = "foo"; hoge.b = "bar"; for (var key:String in hoge.toObject()) { trace(key + ":" + hoge[key]); }