我想聲明一個新的枚舉與非默認的基礎類型。這工作:爲什麼枚舉聲明接受短但不是Int16
public enum MyEnum : short
{ A, B, C, }
但我不明白爲什麼這個不能編譯的原因:
public enum MyEnum : System.Int16
{ A, B, C, }
編譯器說
類型字節,爲sbyte,短,USHORT,INT , uint,long or ulong expected
據我所知,是Int16在所有.NET版本(包括32/64位風格)上的別名。我不明白爲什麼編譯器給這個特殊情況下的別名賦予不同的含義。
任何解釋?
我記得有一個類似的問題越來越關閉昨天 – V4Vendetta 2011-06-01 09:57:31
我發現兩個使用谷歌幾乎相同的問題:http://stackoverflow.com/questions/3774650/enum-members-of-int32-type和http://stackoverflow.com/questions/1813408/c-int-int32 -and-枚舉。 – 2011-06-01 10:00:01
儘管花了幾分鐘的時間閱讀搜索結果,但我沒有找到它:) – 2011-06-01 10:00:32