通用类型的类型推断

时间:2019-04-10 12:23:01

标签: typescript generics

我正在尝试进行类似的工作。关键是我有一些Interface,然后是一个Goo类,该类具有扩展该接口的通用类型。

interface Interface { a: string; }
class Goo<T extends Interface> { props: T }
class Foo<T extends Goo<T["props"]>> {}

我想创建一个采用泛型类型的Foo类,该类扩展了该泛型Goo。问题是Goo期望使用一个通用参数,我试图将其用于T["props"],但是语法检查器显示该类型不满足接口的错误。

该类的用法如下:

class Impl implements Interface { a: string; }
type Boo = Foo<Goo<Impl>>;

1 个答案:

答案 0 :(得分:1)

您可以这样做

class Foo<T extends Goo<Interface>> {}