別の参照に同じオブジェクトを複製するメソッドがあるけど、
ActionScriptにはないので作ってみた。
以下のメソッドを複製したいクラスに追加する。
public function clone():* {
var className:String = getQualifiedClassName(this);
var clazz:Class = getDefinitionByName(className) as Class;
var o:Object = ObjectUtil.getClassInfo( this );
var ins:* = new ClassFactory( clazz ).newInstance();
for each ( var q:QName in o.properties ) {
ins[ q.localName ] = this[ q.localName ];
}
return ins;
}Adobe Flex 3 Tips集
トップページ>>