Почему C # допускает недопустимое значение перечисления

Я потратил некоторое время, пытаясь понять, почему мое приложение WPF не привязано к данным свойства enum должным образом, и это является причиной.

 static void Main(string[] args)
 {
  MyEnum x = 0;
  Console.WriteLine(x.ToString());
  Console.ReadLine();
 }

 public enum MyEnum
 {
  First = 1,
  Second = 2
 }

По сути, проблема заключалась в том, что не было значения по умолчанию значение, установленное для свойства enum в конструкторе класса, к которому я привязался, поэтому по умолчанию было равно нулю.

Могу ли я каким-то образом сообщить компилятору C #, что я хочу, чтобы он принимал только допустимые значения (и по умолчанию использовал наименьшее значение)? Я не хочу, чтобы мое свойство принимало недопустимые значения, и мне не нужно писать код установки для каждого свойства, которое использует перечисление.

11
задан Peter Morris 21 September 2010 в 10:46
поделиться