Я получил журнал ошибок, в котором показан следующий код, выдавший исключение в наборе
public double Value {
get {
switch (DefinedUnits.Distance) {
case DistanceUnits.Feet: { return Feet; }
case DistanceUnits.Meters: { return Meters; }
case DistanceUnits.NM: { return NauticalMiles; }
default: { throw new Exception("Invalid Distance Unit Specified"); }
}
}
set {
switch (DefinedUnits.Distance) {
case DistanceUnits.Feet: { Feet = value; break; }
case DistanceUnits.Meters: { Meters = value; break; }
case DistanceUnits.NM: { NauticalMiles = value; break; }
default: { throw new Exception("Invalid Distance Unit Specified"); }
}
}
}
DefinedUnits.Distance - это перечисление:
public enum DistanceUnits {
Meters,
Feet,
NM
}
Я не вижу в своем коде, что можно отправить что-то еще. У меня нет места, где это перечисление рассматривается как целое число, так что неверное значение может быть передано. Пользователь не может сказать мне, что он делал. Или, скорее, он говорит мне, что делал что-то, что не могло бы назвать это.
Есть ли логическое объяснение, почему это произошло и как я могу это остановить?
Спасибо