我想传递一个作为正式泛型参数传递的类型的构造函数。当我尝试按照
class Test {}
function g(x: new() => any): void {
var y = new x();
}
function f<T>() {
g(T);
}
f<Test>();
我收到编译错误(未知名称:T)和这个JS:
function f() {
g(T);
}
看起来TS中的泛型仅用于指示类型检查器,即它们是phantom types。我需要这个来更改Netjs代码生成器,因此更改必须是函数f
的本地更改。如何从泛型参数中获取类型的构造函数?
答案 0 :(得分:1)
你不能将Type-arguments用作TypeScript中的代码(就像在C#中一样)因为它们是从JS中删除的(正如你已经注意到的)。只需将其作为正常参数传递。
您也可以看到typescript报告的错误。