Почему объявление enum принимает short, но не Int16

Я хочу объявить новое перечисление с типом, лежащим в основе не по умолчанию. Это работает:

public enum MyEnum : short
{ A, B, C, }

Но я не понимаю, почему это не компилируется:

public enum MyEnum : System.Int16
{ A, B, C, }

Компилятор говорит

Введите байт, абзац, short, ushort, int, uint, long, или ulong expected

I понимаю, что short - это псевдоним для Int16 на всех .NET версиях (32/64 битных ароматов включительно). Я не понимаю, почему компилятор придает псевдониму другое значение в данном конкретном случае.

Любое объяснение?

19
задан Daniel Daranas 19 July 2013 в 09:51
поделиться