Im chiedendo come posso ottenere un riferimento a un costruttore di tipi di passare alla funzione come un valore. In sostanza, mi piacerebbe avere un registro tipo generico che permetterebbe casi da creare chiamando una funzione di membro di un'istanza del tipo di registro generico.
Per esempio:
class GeometryTypeInfo
{
constructor (public typeId: number, public typeName: string, public fnCtor: (...args: any[]) => IGeometry) {
}
createInstance(...args: any[]) : IGeometry { return this.fnCtor(args); }
}
}
Dopo:
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));
}
Qualcuno sa se è possibile fare riferimento a una funzione di classi di costruzione?













