Я хочу объявить новое перечисление с типом, лежащим в основе не по умолчанию. Это работает:
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 битных ароматов включительно). Я не понимаю, почему компилятор придает псевдониму другое значение в данном конкретном случае.
Любое объяснение?