小编Jak*_*e H的帖子

引用构造函数

我想知道如何获得对类型构造函数的引用以将函数作为值传递.基本上,我希望有一个泛型类型注册表,允许通过调用泛型类型注册表实例的成员函数来创建实例.

例如:

class GeometryTypeInfo
{        
    constructor (public typeId: number, public typeName: string, public fnCtor: (...args: any[]) => IGeometry) {
    }
    createInstance(...args: any[]) : IGeometry { return this.fnCtor(args); }
    }
}
Run Code Online (Sandbox Code Playgroud)

后来:

class Point implements IGeometry {
    constructor(public x: number, public y: number) { }

    public static type_info = new GeometryTypeInfo(1, 'POINT', Point); // <- fails
    // also fails: 
    //    new GeometryTypeInfo(1, 'POINT', new Point);
    //    new GeometryTypeInfo(1, 'POINT', Point.prototype);
    //    new GeometryTypeInfo(1, 'POINT', Point.bind(this));
}
Run Code Online (Sandbox Code Playgroud)

有人知道是否可以引用类构造函数?

typescript

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

typescript ×1