【发布时间】:2021-07-10 18:55:34
【问题描述】:
我有一个带有两个方法的泛型类,其中一个调用另一个。由于两者都采用相同的参数,我试图使用Parameters Utility Type 将一个参数复制到另一个。但是,我不知道在访问类的方法时如何传递泛型:
class Thing<T> {
_a: T;
constructor(a: T) {
this._a = a;
}
original(anotherA: T, b: string) {
// do something...
}
unOriginal(...params: Parameters<typeof Thing.prototype.original>) {
return this.original(...params);
}
}
正如您在unOriginal 方法中看到的,我没有在任何地方传递通用T。因此,params 的计算结果为 [anotherA: any, b: string]。相反,我希望它评估为[anotherA: T, b: string],但我不知道在引用Thing.prototype.original 时如何传递T 泛型。例如,Parameters<typeof Thing<T>.prototype.original>。
有什么想法吗?
【问题讨论】:
标签: typescript generics visual-studio-code intellisense