列挙定数が一意の整数値にマップされるようにC#には何らかの方法があります。c#列挙定数は一意の整数値にマップされます
public enum Color
{
None =0,
red = 1,
blue= 2,
white = 3
}
ここで私が "白を3から2に変更"すると、コンパイルエラーが発生するはずです。
私のプロジェクトでは、定数のDBの列挙型整数値を保存しています。 誰かが列挙型(たとえば黒色)で新しい定数を追加した場合のように、enumに制約が必要です。ユーザーは一意の数値にenum定数を指定する必要があります。
おかげ
明示的な値の指定を省略して、コンパイラにそれらを決定させることはできますか? –
また、C#4.0以降を使用していますか?その場合は、[コード契約](http://blogs.msdn.com/b/bclteam/archive/2008/11/11/introduction-to-code-contracts-melitta-andersen.aspx)を活用してコンパイル時の静的なアサートをシミュレートします。 –