2014-01-09 13 views
5

私は、推奨される基本型はInt32でなければならないことを知っていますが、UInt32はそうではありませんが、この行はコンパイラエラー:基本列挙型のUInt32の結果コンパイラエラー

public enum Strength : UInt32 

と、この行はありません:私はuintUInt32ためだけの別名であるという仮定の下にあった

public enum Strength : uint 

、私が行方不明です何かがあるのでしょうか?私はMSDNのドキュメントを調べましたが、簡単に何かを逃してしまった可能性があります。

注:VS12を使用すると、整数型(Int32、int ...など)のエイリアスではない名前を使用するたびにこのエラーが発生しているように見えます。

答えて

2

正しいですuintUInt32のエイリアスですが、コンパイラは予想されるエイリアスになるタイプによって異なります。 intInt32で同じことが起こります。これはパーサからのコンパイラエラーです。パーサは、内部の文法規則から特定の文字列を期待しています。これについてはStack Overflowに関する他の記事がいくつかあります。

さらに詳しい情報を掲載した別の投稿があります。 C# int, Int32 and enums