![]() |
1
12
这是一个突破性的更改,因为您正在更改公共API。 使用旧值构建的库/应用程序仍将保留旧值并使用它。您将需要重新编译它们。 从MSDN- enum (C# Reference) :
|
![]() |
2
3
这取决于您是否能够控制解决方案的完整代码,或者您是否正在导出一个库以供其他人使用。
有类似的gotchas与公开的consts。 一般来说,假设是的——这是一个突破性的变化! |
![]() |
3
2
它会的。假设您将一些数据存储为枚举中的int,那么将来检索这些数据将产生错误的结果。在这种情况下,在更改之前为OTH存储的数据不会像您当前为OTH存储的5个数据一样显示为OTH,将来您将获得5个数据,同样需要7个数据。 |
![]() |
4
2
如果没有人依赖于它的值为5,这不是一个破坏性的变化,但是值得注意的是,任何使用它的人都依赖于它的值为5,即使这在他们的代码中不是明确的。 如果我针对这个程序集编写代码,比如:
然后在内部将其与5的值进行比较。即使数字5没有出现在我的源代码中的任何地方,所以如果我部署程序集的新版本,它将被破坏。 保存的宽限期是,我不需要重新编写来处理这个破坏性的更改,只需要重新编译。 |
![]() |
5
0
首先,ssn和oth均为5,是否输入错误?否则,对于使用此枚举的switch语句,它是编译时错误?
现在,将oth=5更改为oth=7,如果将枚举用作
|
![]() |
6
0
这要看情况而定。只有当您能够验证noone的值是否为5或与ssn相同,或者您能够重构掉这样的依赖关系时,这才是一个不间断的更改。 |
![]() |
H.v.M. · 为最后一个枚举值指定不同的变量值 3 年前 |
|
JimmyDiJim · 在声明后定义枚举变量 7 年前 |
![]() |
Eli K · 语法错误,插入“{”以完成枚举体(在类的末尾) 7 年前 |
![]() |
Vivek Shukla · 在中间添加枚举 7 年前 |
![]() |
DannyD · 如何访问typescript中的枚举名称 7 年前 |