Так что, если у вас нет доступа к Enum или элементу управления над строкой, которая должна сравниваться со значениями enum, есть ли лучший или более чистый способ, чем приведенный ниже код, чтобы получить значение Enum, которое соответствует и использует это в вызове:
Enum.IsDefined() or
Enum.Parse()
Пример:
var enumValues = Enum.GetValues(typeof(someType));
foreach (var value in enumValues) {
if (value.ToString().ToLowerInvariant() == stringToCompare.ToLowerInvariant()) {
stringToCompare = value.ToString();
}
}
Что в этот момент, если было совпадение, вы имели бы правильное значение перечисления, которое затем могли бы использовать в (Enum.IsDefinied () или Enum.Parse ())
Есть ли лучший способ, чем я определил?