動的にクラスのインスタンスを作る際に可変引数を渡す
こんな感じで指定したクラス名のオブジェクトを作ろうとしたのだが
public static function createInstance(className:String,...args:Array):Object{ var loadedClass:Class = Class(getDefinitionByName(className)); var newInstance:Object= new loadedClass(args); return newInstance; }
コンストラクタにargsと言う配列をそのまま渡されてしまい、たとえば
var hoge:HogeClass = new HogeClass(a,b,c);
みたいな構築をやろうとして
var hoge:HogeClass = createInstance("HogeClass",a,b,c);
としても...[a,b,c]を渡されてしまうので旨く行かない。
あきらめて動的ロードが必要なクラスは全部init()メソッド作ってやるしかないかな