2014-01-08 51 views
8

我正在寫一個XML加載程序/解析器(和新的打字稿),我可以加載XML罰款,但我試圖動態地將XML數據解析回類/目的。問題是,我想用一個字符串變量創建一個類; 即 var classNameString:String = "className";在打字稿中使用字符串名稱創建一個新的類

var newClass:any = new class(classNameString)

從我對互聯網的許多搜索它不會出現可能,我將不得不硬編碼的類名稱。任何幫助將不勝感激。

+2

聽起來和[動態加載打字稿類(打印稿的反射)](http://stackoverflow.com/a/15339429/629118)相同。 –

+0

這是一個,非常感謝! – user3171294

回答

17

如果你有一個特定的命名空間,所有你要創建的類,你可以這樣做:

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

,如果他們在默認的命名空間,你可以簡單地使用window

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

工作很好...很好,乾淨! – born2net

+0

也在nodejs中做這項工作? –

+0

@JaumeMussonsAbad:試試吧,讓我知道。假設nodejs仍然使用標準實例創建,它應該工作(命名空間是正確的)。 –

相關問題