0
静的メソッドを宣言する型を返す方法を工夫しています。これは派生型の場合にも有効です。それぞれAnimal
上getType()
、Dog
とCat
を呼び出す静的メソッドから宣言型を取得する
class Animal {
static getType(): any {
// Here I want to return the type that declares this method,
// In this case Animal.
// For derived types, it should return i.e. Dog, Cat, etc.
// I tried...
// return this.prototype; // But this doesn't work.
}
}
class Dog extends Animal {
}
class Cat extends Animal {
}
、生成する必要があります:
Animal.getType() // Animal
Dog.getType() // Dog
Cat.getType() // Cat
私はそれが可能だとしてもわからないんだけど、誰もが正しい方向に私を指すことができれば、それは次のようになりすばらしいです!私はそのタイプの他の静的メンバーを反復処理することができるように、宣言型を返すためにgetType()
を使用している
Object.keys(Dog) // ["Poodle", "Labrador", "Husky"]