是否可以强制泛型类型不仅为Function
类型,还可以匹配特定的函数定义?
例如,我想出的最接近的方法是:
class MyClass<T = (S : any, E : EventArgs) => void> {
...
}
这当然可以,但是它不会强制使用此类型,它只是默认类型。我都可以做
let myClass = new MyClass<string>();
或
let myClass = newClass<(any, number) => void>();
我都不希望两者都可能。我希望类型始终与(any, EventArgs) => void
的函数定义匹配。
在TypeScript中可以吗?
答案 0 :(得分:2)
是的,有可能。要定义constraint extends
关键字:
class MyClass<T extends (S: any, E: EventArgs) => void> {
// ...
}
您已经知道,=
为泛型类型参数指定了default。