Im bir değer olarak işlev geçirmek için türlü yapıcı bir başvuru nasıl alabilirim merak. Temelde, örneklerini bir genel tür kayıt örneğinin üyesi işlevini çağırarak oluşturulmasına izin verecek bir genel tür kayıt istiyorum.
Örneğin:
class GeometryTypeInfo
{
constructor (public typeId: number, public typeName: string, public fnCtor: (...args: any[]) => IGeometry) {
}
createInstance(...args: any[]) : IGeometry { return this.fnCtor(args); }
}
}
Sonra:
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));
}
Herkes bir sınıflar yapıcı işlevine başvurmak mümkün olup olmadığını biliyor musunuz?













