考虑我有一个enum,我今天已编码。有什么方法可以在以后扩展其功能,或者可能添加更多变量? 部分枚举会起作用吗?
答案 0 :(得分:5)
这实际上取决于谁在使用枚举。如果它只是您自己的代码,那么您可以添加更多值而不会产生任何副作用,因为理想情况下已经已明确检查预期值。通常很容易找到需要编辑的任何地方。
如果枚举已经发布给其他人作为API的一部分消费,那就太棘手了;例如,如果将“MyNewValue”添加到用于返回Web方法的枚举中,那么当您向其发送该值时,可能会导致现有客户端(尚未更新)崩溃 - 通过代码而不是知道该怎么做,或者(更直接地)序列化层在看到它没有预料到的字符串时发生恐慌。
没有partial enum
这样的东西;仅限class
,struct
或interface
。