Typescript 函数具有类型变量<;时如何获取函数参数;T>;?

Typescript 函数具有类型变量<;时如何获取函数参数;T>;?,typescript,Typescript,我有一个typescript函数,如下所示: function test<T>(func: (thing: T) => {}) { } function normalFun(a: string, b: string) { } function newNormalFun(...args: Parameters<typeof normalFun>) { // now typeof args is [string,string] } 但是它对于使用的测试功能是无

我有一个typescript函数,如下所示:

function test<T>(func: (thing: T) => {}) {
}

function normalFun(a: string, b: string) {

}

function newNormalFun(...args: Parameters<typeof normalFun>) {
// now typeof args is [string,string]
}
但是它对于使用
测试
功能是无用的

参数功能:

//from typescript lib.es5.d.ts
type Parameters<T extends (...args: any) => any> = T extends (...args: infer P) => any ? P : never;
//来自typescript lib.es5.d.ts
类型参数any>=T扩展(…参数:推断P)=>any?P:从来没有;
它使用
推断
获得目标。
有没有一种方法可以用已知的T推断函数的类型?

没有,没有语法。如果
T
具有约束,则
Parameters
类型将提取参数,就像
T
是约束一样,但您不能为特定的
T
执行此操作。您能否给出一个使用示例,说明如果该功能存在,您希望如何使用它。例如,您的用例与我在操场上写的有什么不同:我正在尝试为
mongoose.Schema.prototype.pre
函数创建一个decorator
pre
。输入参数应该与之类似。希望我可以引用它,而不是复制它。不,没有语法。如果
T
具有约束,则
Parameters
类型将提取参数,就像
T
是约束一样,但您不能为特定的
T
执行此操作。您能否给出一个使用示例,说明如果该功能存在,您希望如何使用它。例如,您的用例与我在操场上写的有什么不同:我正在尝试为
mongoose.Schema.prototype.pre
函数创建一个decorator
pre
。输入参数应该与之类似。希望我能引用它,而不是复制它。