根据参数获取返回类型

时间:2020-04-14 19:43:11

标签: typescript

我不确定如何执行此操作,但是如何将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然后说resultBehavior的实例,而不是Item的实例。使结果成为Item实例的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

这是您想要的吗?

getComponent<T extends Behavior>(component: new(...args: any[]) => T): T {}
相关问题