以下Typescript代码段中dialogComponent
的类型声明的含义是什么?
createDialog(dialogComponent: { new(): DialogComponent }) :
Promise<ComponentRef<DialogComponent>> { ... }
我发现以下问题扩展了目前为止收到的答案:How to create a new object from type parameter in generic class in typescript?
答案 0 :(得分:2)
使用泛型在TypeScript中创建工厂时,必须通过构造函数引用类类型。因此,不要使用类型:T ,而是使用类型:{new():T;} 。
function create<T>(c: {new(): T; }): T {
return new c();
}
here的更多详情。