generics - 如何将 Typescript 函数的泛型参数类型限制为枚举

标签 generics typescript enums

是否可以将通用 Typescript 函数的输入参数类型限制为 Typescript 枚举?

换句话说,我想强制下面函数中的 T 是一个非常量 Typescript 枚举 Foo<T>() { /* */ }

最佳答案

您可以将类型限制为特定的枚举。

function foo<T extends MyEnum>(param: T) {    
}

但是,您不能将其限制为任何枚举(请参阅 specs)。

In addition to generic interfaces, we can also create generic classes. Note that it is not possible to create generic enums and namespaces.

关于generics - 如何将 Typescript 函数的泛型参数类型限制为枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38033142/

相关文章:

c# - 你如何制作一个通用的通用工厂?

reactjs - 当依赖是一个函数时,如何避免 useEffect 中的无限更新

将枚举变量转换为枚举类型

c++ - 表达式必须是带有枚举的可修改左值

Swift 泛型类型推断扩展

java - 使用 java 泛型迭代枚举值

Scala:返回类型 Seq[A] 或 Future[Seq[A]] 的泛型

angular - FormBuilder 组已被验证器弃用

javascript - 无法以 Angular 显示用户名

c# - 从枚举中获取 DescriptionAttribute