title: Why does enum declaration accept short but not Int16
body: <p>I want to declare a new enum with non-default underlying type. This works: </p>
  
  <pre><code>public enum MyEnum : short
  { A, B, C, }
  </code></pre>
  
  <p>But I don't understand the reason why this doesn't compile:</p>
  
  <pre><code>public enum MyEnum : System.Int16
  { A, B, C, }
  </code></pre>
  
  <p>Compiler says </p>
  
  <blockquote>
    <p>Type byte, sbyte, short, ushort, int,
    uint, long, or ulong expected</p>
  </blockquote>
  
  <p>I understand that short is an alias for Int16 on all .NET versions (32/64 bit flavors included). I don't see why the compiler gives a different meaning to the alias in that particular case.</p>
  
  <p>Any explanation?</p>