我想知道如何獲得對函數作爲值傳遞的類型構造函數的引用。 基本上,我想有一個通用類型註冊表,它允許通過調用泛型類型註冊表實例的成員函數來創建實例。引用構造函數
例如:
class GeometryTypeInfo
{
constructor (public typeId: number, public typeName: string, public fnCtor: (...args: any[]) => IGeometry) {
}
createInstance(...args: any[]) : IGeometry { return this.fnCtor(args); }
}
}
後來:
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));
}
任何人都知道,如果有可能引用的類構造函數?
謝謝,我錯過了規範中的'新'字面值。 –
in'// < - fails'我想它是解決方案,它不會失敗,如果這是正確的,也許你可以編輯它爲'// < - 不再失敗'或類似的東西?否則它有點誤導,thx – peter