String to Enum завершается ошибкой, если не записан точно, даже если для параметра ignorecase установлено значение true? - PullRequest
0 голосов
/ 27 мая 2011
if (user.Access == (UserType)Enum.Parse(typeof(UserType), str, true))

У меня есть бот канала, который принимает команды следующим образом:

.add username usertype

Теперь я должен проверить, есть ли у имени пользователя такой доступ для записи или нет, но когда пользовательский тип записан не совсем так, как Enum, он всегда терпит неудачу.

HeadAdmin, написанный как headadmin, например, приводит к следующей ошибке:

System.NullReferenceException: Object reference not set to an instance of an object.

Также, если я наберу несуществующее перечисление, это скажет мне, что значение X не найдено.

Как мне преобразовать usertype, чтобы он возвращал true, если совпадение, и false, если не совпадает или не существует?

1 Ответ

4 голосов
/ 27 мая 2011

Учитывая ваш пример кода и заявленную ошибку, я предположил бы, что user объект - null.

...