プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます


[Flex] クラスのプロパティを列挙する

Flexのクラスに定義されているプロパティというかpublic変数を列挙する方法です。
オブジェクト内の変数値を全部出力するときなんかに使えるかも??

あまり利用する場面はありませんが、必要になった時のために覚書。

例えば、対象となるクラスがこんな感じの定義とする

package
{
	public class Entity1
	{
		public var id:int;
		public var key1:String;
		public var key2:String;
		public var message:String;
		public var flg:Boolean;
	}
}

そして、列挙するプログラムはこんな感じ。ObjectUtilという便利なユーティリティクラスを使います。

import mx.utils.ObjectUtil;
var targetClass:Class = Entity1;
var propList:Array = 
     ObjectUtil.getClassInfo(targetClass, null, {includeReadOnly:false}).properties;

for each (var p:String in propList) {
	trace(p);
}

実行すると、

flg
id
key1
key2
message

のように出力されます。ABC順になっている模様。

getClassInfoには他にも便利なオプションがあるかもしれません。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です