これは1つの方法です。
class SomeClass {
private static myStaticVariable = "whatever";
private static __static_ctor = (() => { /* do static constructor stuff :) */ })();
}
__static_ctor
これはすぐに呼び出される関数式です。Typescriptは、生成されたクラスの最後にそれを呼び出すコードを出力します。
更新:静的メンバーによる参照が許可されなくなった静的コンストラクターのジェネリック型の場合、ここで追加の手順が必要になります。
class SomeClass<T> {
static myStaticVariable = "whatever";
private ___static_ctor = (() => { var someClass:SomeClass<T> ; /* do static constructor stuff :) */ })();
private static __static_ctor = SomeClass.prototype.___static_ctor();
}
もちろん、いずれの場合も、次のように、クラスの後にジェネリック型の静的コンストラクターを呼び出すだけです。
class SomeClass<T> {
static myStaticVariable = "whatever";
private __static_ctor = (() => { var example: SomeClass<T>; /* do static constructor stuff :) */ })();
}
SomeClass.prototype.__static_ctor();
上記で(明らかに)使用this
しないでください__static_ctor
。