来自泛型的Typescript使用方法签名

问题描述 投票:0回答:1

是否可以做这样的事情?这将有很大帮助。我们从泛型方法签名]

class Foo<Parent extends Foo> {
    public bar<U extends Parameters<Parent.bar>>(x: U) {
    }
}
typescript typescript-generics
1个回答
1
投票

[如果想要Parent扩展Foo,则不能,因为那样会导致类型的循环依赖,但是如果您将Parent限制为带有bar的其他内容,则可以这样做:] >

class Foo<Parent extends { bar: (...a: any[]) => any}> {
    public bar<U extends  Parameters<Parent['bar']>>(x: U) {
    }
}

Playground Link

© www.soinside.com 2019 - 2024. All rights reserved.