5

この質問は些細なことで、列挙型は単純に整数で表されると思っていましたが、そうではないことに驚きました。ここに私が持っているものがあります:

次の TraceEventType プロパティを含むカスタム構成ファイルがあります。

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

私の構成ファイルでは、このプロパティを次の値で表しました。

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

結果:私はこれを得ました:

System.Configuration.ConfigurationErrorsException: プロパティ 'Severity' の値を解析できません。エラー: 列挙値は次のいずれかである必要があります: 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 に答える