8

として作成したクラスの名前を取得するとしStringます。その文字列に含まれる名前でクラスをインスタンス化するにはどうすればよいですか? 特定の親クラスから派生することはわかっていますが、実際のクラスは異なります。

4

1 に答える 1

17
var instance : MyClass = Type.createInstance(Type.resolveClass("path.to.MyClass"), []);

いくつかのメモ:

  • resolveClass()必要なクラスのフルパス(パッケージを含む)を取ります
  • createInstance()コンストラクターに適用される値の配列を 2 番目の引数として取ります。これらの値は正確な数である必要があり、オプションの場合でも渡す必要があります (その場合は null が適しています)。
于 2010-09-08T12:25:13.650 に答える