Я хочу объявить новое перечисление с нестандартным базовым типом. Это работает:
public enum MyEnum : short
{ A, B, C, }
Но я не понимаю, почему это не скомпилируется:
public enum MyEnum : System.Int16
{ A, B, C, }
Компилятор говорит
Тип байта, sbyte, short, ushort, int, uint, long или ulong ожидается
Я понимаю, что short является псевдонимом для Int16 во всех версиях .NET(включая 32/64 бит). Я не понимаю, почему компилятор дает другое значение для псевдонима в этом конкретном случае.
Любое объяснение?