2014-01-08 16 views
8

XMLローダー/パーサー(およびtypescriptに新しい)を作成していますが、XMLのデータを動的に解析してクラスに戻そうとしています/オブジェクト。問題は、私は文字列変数を使用してクラスを作成したいと思います。 インターネットの私の多くの検索からvar classNameString:String = "className";typescriptで文字列名を使用して新しいクラスを作成する

var newClass:any = new class(classNameString)

すなわち、それは可能では表示されませんし、私はクラス名をハードコーディングする必要がありますするつもりです。どんな助けでも大歓迎です。

+2

[動的にtypescriptクラスを読み込む(typescriptのリフレクション)](http://stackoverflow.com/a/15339429/629118)と同じです。 –

+0

それは1つ、多くのありがとう! – user3171294

答えて

17

あなたが特定の名前空間を持っている場合は、作成するすべてのクラスのために、あなたはこれを行うことができます。

var newClass: any = new MyNamespace[classNameString](parametersIfAny); 

を、彼らは、デフォルトの名前空間にある場合は、単純に使用することができwindow

var newClass: any = new window[classNameString](parametersIfAny); 
+1

はうまくいきます...素敵で清潔です! – born2net

+0

これはnodejsでも同じですか? –

+0

@JaumeMussonsAbad:試してみてください。 nodejsがまだ標準インスタンスの作成を使用していると仮定すると(名前空間の正しい)動作するはずです。 –

関連する問題