|
1
1
假设您无法重构代码以便两个类都使用相同的顶级枚举,则可以依赖以下事实:枚举值都具有相同的名称:
当然,您可能需要先检查null:
|
|
|
2
1
如果您不是这两个类的所有者,则必须编写一个转换器,将一个用户类型转换为另一个,因为这两个类是不同的类。对于转换,例如,可以使用枚举值的序号。 |
|
|
3
1
错误消息非常清楚地提到 两个枚举都是不同的实体,因此不能将一个实体强制转换为另一个实体 . 两者都有不同的名称空间,都将被编译为单独的枚举,在应用程序执行期间都将作为单独的实体存在,都将作为单独的实体加载。 你有以下选择
在这两种方法中,都可以实现返回相应枚举的逻辑。在你的情况下,它是接缝的
请注意
选项1比选项2更好
如果枚举名称发生更改,或者添加了新实例,则需要更新这些映射方法。你可以用
|
|
4
0
不是明智的解决方案
|
|
|
H.v.M. · 为最后一个枚举值指定不同的变量值 4 年前 |
|
|
JimmyDiJim · 在声明后定义枚举变量 8 年前 |
|
|
Eli K · 语法错误,插入“{”以完成枚举体(在类的末尾) 8 年前 |
|
|
Vivek Shukla · 在中间添加枚举 8 年前 |
|
|
DannyD · 如何访问typescript中的枚举名称 8 年前 |