NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

1.12 Enums

An enum type declaration defines a type name for a related group of symbolic constants. Enums are typically used when for "multiple choice" scenarios, in which a runtime decision is made from a number of options that are known at compile-time.

The example

enum Color {
   Red,
   Blue,
   Green
}
class Shape
{
   public void Fill(Color color) {
      switch(color) {
         case Color.Red:
            ...
            break;
         case Color.Blue:
            ...
            break;
         case Color.Green:
            ...
            break;
         default:
            break;
      }
   }
}

shows a Color enum and a method that uses this enum. The signature of the Fill method makes it clear that the shape can be filled with one of the given colors.

The use of enums is superior to the use of integer constants – as is common in languages without enums – because the use of enums makes the code more readable and self-documenting. The self-documenting nature of the code also makes it possible for the development tool to assist with code writing and other "designer" activities. For example, the use of Color rather than int for a parameter type enables smart code editors to suggest Color values.