title: Multiple enum descriptions
body: <p>I have defined the following <code>enum</code>:</p>
  
  <pre><code>public enum DeviceType
  {
      [Description("Set Top Box")]
      Stb = 1,
      Panel = 2,
      Monitor = 3,
      [Description("Wireless Keyboard")]
      WirelessKeyboard = 4
  }
  </code></pre>
  
  <p>I'm utilising the <code>Description</code> attribute to allow me to pull out a more user-readable version of the enum to display in the UI. I get the description using the following code:</p>
  
  <pre><code>var fieldInfo = DeviceType.Stb.GetType().GetField(DeviceType.Stb.ToString());
  
  var attributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
  
  var description = (attributes.Length &gt; 0 ? attributes[0].Description : DeviceType.Stb.ToString());
  </code></pre>
  
  <p>The above code will give me: <code>description = "Set Top Box"</code>. If there is no <code>Description</code> attribute set, it will give me the string value of the enum.</p>
  
  <p>I now want to add a second/custom attribute to each of the enums (called 'Value' for examples sake). eg:</p>
  
  <pre><code>public enum DeviceType
  {
      [Description("Set Top Box")]
      [Value("19.95")]
      Stb = 1,
      [Value("99")]
      Panel = 2,
      [Value("199.99")]
      Monitor = 3,
      [Description("Wireless Keyboard")]
      [Value("20")]
      WirelessKeyboard = 4
  }
  </code></pre>
  
  <p>I will need to pull out the new <code>Value</code> attribute much the same way I currently do with the <code>Description</code> attribute.</p>
  
  <p>Is it possible to extend the existing <code>Description</code> attribute to somehow include the new <code>Value</code> attribute, or is it best to create the new attribute separately?</p>