我想声明一个非默认底层类型的新枚举。这有效:
public enum MyEnum : short
{ A, B, C, }
但我不明白为什么不编译:
public enum MyEnum : System.Int16
{ A, B, C, }
编译说
输入byte,sbyte,short,ushort,int, uint,long或ulong预期
据我所知,short是所有.NET版本(包括32/64位版本)的Int16的别名。我不明白为什么编译器在特定情况下给别名赋予了不同的含义。
有任何解释吗?