Enum.TryParse не поддерживается в vs2008 в c # - PullRequest
1 голос
/ 19 августа 2010

Enum.TryParse (,, out) не поддерживается в vs2008 в c #?Зачем?Я пытаюсь использовать, но получаю сообщение об ошибке, которое TryParse не определено.

Ответы [ 4 ]

6 голосов
/ 19 августа 2010

Enum.TryParse была представлена ​​в .NET 4. Однако вы можете использовать мою библиотеку Unconstrained Melody , которая имеет нечто похожее, и многие другие функции.

2 голосов
/ 19 августа 2010
 public static bool TryParse<T>(this Enum theEnum, string valueToParse, out T returnValue)
 {
    returnValue = default(T);
    int intEnumValue;
    if (Int32.TryParse(valueToParse, out intEnumValue))
    {
        if (Enum.IsDefined(typeof(T), intEnumValue))
        {
           returnValue = (T)(object)intEnumValue;
           return true;
        }
    }
    return false;
  }
2 голосов
/ 19 августа 2010

Согласно MSDN , Enum.TryParse не был добавлен до .NET 4. VS2008 ориентирован на .NET 3.5SP1, поэтому вы не можете получить доступ к этому методу.

1 голос
/ 19 августа 2010

Этот вопрос включает в себя ряд подходов к реализации: Как попробоватьParse для значения Enum?

...