我正在编写一个XML加载器/解析器(以及对typescript的新东西),我可以很好地加载XML,但是我正在尝试动态地将XML数据解析回类/对象。问题是,我想用字符串变量创建一个类;
即
var classNameString:String = "className";
var newClass:any = new class(classNameString)
从我对互联网的许多搜索中看起来似乎不可能,而且我将不得不对类名进行硬编码。任何帮助将不胜感激。
答案 0 :(得分:21)
如果您有一个特定的命名空间,则对于您要创建的所有类,您可以执行以下操作:
var newClass: any = new (<any>MyNamespace)[classNameString](parametersIfAny);
如果它们位于默认命名空间中,您只需使用window
:
var newClass: any = new (<any>window)[classNameString](parametersIfAny);
您现在需要使用最新的TypeScript进行<any>
投射,或者获得Error TS7017 Build:Element implicitly has an 'any' type because type '{}' has no index signature.