Object.constructor を見直した。

by mezumona
♥0 | Line 26 | Modified 2010-06-16 20:49:00 | MIT License
play

ActionScript3 source code

/**
 * Copyright mezumona ( http://wonderfl.net/user/mezumona )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/aq72
 */

package {
    import flash.display.Sprite;
    import flash.utils.getDefinitionByName;
    public class CreateObject extends Sprite {
        public function CreateObject() {
            addChild(textf);
            var obj:Hoge = new Hoge("foo");
            // Flex 4.1 SDK Stable だとうまく行ったんだけどなー
            // new obj.constructor("Piyo");
            new obj["constructor"]("Piyo");
        }
    }
}

class Hoge extends Object
{
	public function Hoge(message:String)
	{
		trace(message, "!");
	}
}

import flash.text.TextField;
import flash.text.TextFieldAutoSize;
internal const textf:TextField = new TextField();
textf.autoSize = TextFieldAutoSize.LEFT;

internal function trace(...rest):void
{
	textf.appendText("\n"+rest.join(" "));
}