Im zastanawiasz się w jaki sposób można uzyskać odniesienie do konstruktora typy przekazać funkcję jako wartość. Zasadniczo chciałbym mieć ogólny rejestr typu, który pozwoliłby przypadki mają być tworzone poprzez wywołanie funkcji składowej rodzajowe przykład typ rejestru.
Na przykład:
class GeometryTypeInfo
{
constructor (public typeId: number, public typeName: string, public fnCtor: (...args: any[]) => IGeometry) {
}
createInstance(...args: any[]) : IGeometry { return this.fnCtor(args); }
}
}
Później:
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));
}
Ktoś wie, czy jest możliwe, aby odwoływać się do funkcji konstruktora klasy?













