在TypeScript中声明一个函数,该函数接受模板类的派生版本

在TypeScript中声明一个函数,该函数接受模板类的派生版本,typescript,Typescript,假设我有一个模板类Tmpl。我可以通过说派生的extensimpl来扩展这个类 我现在要做的是声明一个函数,该函数接受这些派生类作为参数。类似于f:derived:T的东西扩展了Impl=>any 如果我做f:derived:Impl,它会抱怨。我不确定这是否可行,但我知道我的做法不对 什么都行!谢谢模板参数必须来自某个地方。如果要声明一个可以接受任何带有任何可能的泛型参数的Impl的函数,可以像下面这样声明泛型函数: class Impl<A, B> { a: A;

假设我有一个模板类Tmpl。我可以通过说派生的extensimpl来扩展这个类

我现在要做的是声明一个函数,该函数接受这些派生类作为参数。类似于f:derived:T的东西扩展了Impl=>any

如果我做f:derived:Impl,它会抱怨。我不确定这是否可行,但我知道我的做法不对


什么都行!谢谢

模板参数必须来自某个地方。如果要声明一个可以接受任何带有任何可能的泛型参数的Impl的函数,可以像下面这样声明泛型函数:

class Impl<A, B> {
    a: A;
    b: B;
}

interface X {
    f: <A, B>(d: Impl<A, B>) => any;
}

谢谢这也有助于声明函数