Я не уверен, как это сделать, но как передать typeof XXX
параметру метода и сказать, что тип возвращаемого значения является экземпляром этого метода?
Итак, у меня есть этот метод :
public getComponent<T>(component: typeof Behavior): Parameters<(c: T) => T> {}
Затем я использую его следующим образом:
class Main {
getComponent() {
// Finds an instance and returns it
}
}
class Behavior {}
class Item extends Behavior {}
let result = (new Main()).getComponent(Item)
Затем TypeScript говорит, что result
является экземпляром Behavior
вместо экземпляра Item
. Как правильно сделать, чтобы результат был экземпляром Item
?