Как попробоватьParse для значения Enum?

Я хочу написать функцию, которая может проверять заданное значение (передается в виде строки) по возможным значениямenum, В случае совпадения он должен вернуть экземпляр enum; в противном случае он должен вернуть значение по умолчанию.

Функция не может использоваться внутриtry/catch, что исключает использованиеEnum.Parse, который выдает исключение, когда ему дан неверный аргумент.

Я хотел бы использовать что-то вродеTryParse Функция для реализации этого:

public static TEnum ToEnum<TEnum>(this string strEnumValue, TEnum defaultValue)
{
   object enumValue;
   if (!TryParse (typeof (TEnum), strEnumValue, out enumValue))
   {
       return defaultValue;
   }
   return (TEnum) enumValue;
}

Ответы на вопрос(14)

Ваш ответ на вопрос