Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
In an amazing bit of compiler sleight-of-hand, the enumerations that you create using the enum keyword are actually instances of a System.Enum class. (Don’t let the fact that they’re instances of a class confuse you. System.Enum descends from System.ValueType, which makes them value types, not reference types.)
As you know, members are defined in the type, not the instance, and since enumerations are instances, you can’t add members to them. But you can reference the members of System.Enum itself, and it has some useful ones:
The constant names in an enumeration must comply with the rules for identifiers, so they’re not always as useful as you might like—you wouldn’t want to show the user “DoSomething” with no spaces, for example—but it’s surprising how often choosing the names carefully can save you a lot of work.