Enum.Parse не может преобразовать строку

Я пытаюсь загрузить некоторые AppSettings в объект. Настройки выглядят следующим образом:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Logging_default_path" value="C:\Temp" />
    <add key="Logging_max_file_size" value="10485760" />
    <add key="Logging_levels" value="Error,Warning,Info"/>
    <add key="Logging_filename" value="RobinsonLog" />
  </appSettings>
</configuration>

Logging_levels представляет несколько значений перечисления, которые разрешены настройками. Я пытаюсь загрузить их в свой объект, используя следующий код :

Level = (LogLevel)Enum.Parse(typeof(LogLevel), settings["Logging_levels"]);

Но это не работает, и я получаю только LogLevel.Info, а не значение Loglevel.Error | LogLevel.Warning | LogLevel.Info. Перечисление определяется следующим образом:

[Flags]
public enum LogLevel
{
    Error = 0x0,
    Warning = 0x1,
    Info = 0x2,
    Debug = 0x3,
    Performance = 0x4
}

Я ошибаюсь, определение значений в шестнадцатеричном формате? или я что-то еще пропустил?

5
задан codingbunny 23 November 2011 в 13:20
поделиться