Consider I have an enum, which I have coded today. What are the possible ways to extend its functionality, or perhaps add more variables to it, on a later date? Will partial enums do the trick?
It really depends on who is using the enum. If it is just your own code, then you can probably add more values to it without any side-effects, since you should ideally already be checking explicitly for the expected values. It is generally pretty easy to track down any places that need editing.
It gets trickier if the enum has been released for other people to consume as part of an API; for example, if you add "MyNewValue" to an enum used in the return of a web-method, that could cause existing clients (that haven't yet been updated) to crash when you send them that value - either through the code not knowing what to do, or (more immediately) by the serialization layer panicking when it sees a string it didn't expect.
There is no such thing as a partial enum
; only class
, struct
or interface
.