У меня есть странное перечисление, где некоторые значения char
, а другие int
:
public enum VendorType{
Corporation = 'C',
Estate = 'E',
Individual = 'I',
Partnership = 'P',
FederalGovernment = 2,
StateAgencyOrUniversity = 3,
LocalGovernment = 4,
OtherGovernment = 5
}
Я дергаю некоторые данные из текстового файла, который предоставляет символ для этого типа(например, I
или 4
), и я использую это для поиска строго типизированного значения перечисления (например, VendorType.Individual
и VendorType.LocalGovernment
соответственно).
Код, который я использую для этогоэто:
var valueFromData = 'C'; // this is being yanked from a File.IO operation.
VendorType type;
Enum.TryParse(valueFromData, true, out type);
Пока все хорошо, когда дело доходит до парсинга значений int
... но когда я пытаюсь проанализировать значения char
, переменная type
не анализируется иприсвоено 0
.
Вопрос: Можно ли оценить значения перечисления char
и int
?Если да, то как?
Примечание: Я не хочу использовать пользовательские атрибуты для назначения текстовых значений, как я видел в некоторых других примерах взлома в Интернете.