我正在尝试进行类似的工作。关键是我有一些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>>;
答案 0 :(得分:1)
您可以这样做
class Foo<T extends Goo<Interface>> {}