Я хочу написать функцию, которая может проверить заданное значение (переданное как строку) против возможных значений enum . В случае матча он должен вернуть экземпляр Enum; В противном случае он должен вернуть значение по умолчанию.
Функция может не использовать внутренне использовать try /catch, который исключает, используя enum.parse , что бросает исключение при предоставленном недопустимом аргументе.public static TEnum ToEnum(this string strEnumValue, TEnum defaultValue)
{
object enumValue;
if (!TryParse (typeof (TEnum), strEnumValue, out enumValue))
{
return defaultValue;
}
return (TEnum) enumValue;
}
Подробнее здесь: https://stackoverflow.com/questions/108 ... enum-value