扩展Enum中的功能

Soh*_*ham 3 c# enums

考虑一下我有一个enum,我今天编写了它.有什么方法可以在以后扩展其功能,或者可能添加更多变量?部分枚举会起作用吗?

Mar*_*ell 5

这真的取决于谁使用枚举.如果它只是您自己的代码,那么您可以添加更多值而不会产生任何副作用,因为理想情况下您应该已经明确检查了预期的值.通常很容易找到需要编辑的任何地方.

如果枚举已被释放给其他人作为API的一部分消费,那就变得更加棘手; 例如,如果将"MyNewValue"添加到用于返回Web方法的枚举中,那么当您向其发送该值时,可能会导致现有客户端(尚未更新)崩溃 - 通过代码而不是知道该怎么做,或者(更直接地)序列化层在看到它没有预料到的字符串时惊慌失措.

没有这样的东西partial enum; 只是class,structinterface.