Разбирать перечисление при опускании строки
У меня довольно забавная проблема, и я не уверен, что вы даже можете решить этот подход.
У меня есть строка, которая является строчной. Позвольте просто назвать это бизнес-левом. Теперь у меня есть тип перечисления, где значение BusinessLaw.
Что я хочу сделать, это преобразовать строку бизнес-каталога в тип перечисления BusinessLaw.
Обычно я бы подходил к нему, делая это:
return (EnumType) (Enum.Parse(typeof (EnumType), value));
Однако это невозможно, если есть некоторая разница в случае.
Как бы вы решили эту проблему? Или это по своей природе, неразрешимо?
Ответы
Ответ 1
Вы можете использовать перегрузку Enum.Parse
с последним параметром для указания чувствительности к регистру:
return (EnumType) (Enum.Parse(typeof (EnumType), value, false));
Там есть аналогичная перегрузка TryParse
.
Однако помните, что может быть несколько значений enum с тем же именем, кроме случая:
public enum Awkward
{
FOO,
foo,
Foo,
fOO
}
Вероятно, вы должны избегать таких значений перечисления, если это возможно:)