5

我认为这个问题是微不足道的,枚举只是用一个整数表示,但我很惊讶事实并非如此!这是我所拥有的:

我有一个自定义配置文件,其中包含以下 TraceEventType 属性

  [ConfigurationProperty("Severity")]
  public TraceEventType Severity
  {
     get { return (TraceEventType)this["Severity"]; }
     set { this["Severity"] = value; }
  }

在我的配置文件中,我用以下值表示这个属性:

  ...
  <FileLog  Filename="Test" 
            Severity="1" />

结果:我得到了这个:

System.Configuration.ConfigurationErrorsException:无法解析属性“严重性”的值。错误是:枚举值必须是以下之一:Critical、Error、Warning、Information、Verbose、Start、Stop、Suspend、Resume、Transfer。

4

1 回答 1

3

您应该能够在配置文件中使用枚举值的名称,就像错误消息状态一样。例如:

<FileLog Filename="Test" Severity="Verbose" />

System.Configuration 类将负责为您解析枚举。

于 2012-10-25T01:06:03.307 回答