2012-10-25 8 views
5

この質問は簡単ではなく、Enumは単純に整数で表現されていたと思っていましたが、そうではないと私は驚いていました!ここで私が持っているものだ:私は私の設定ファイルでは、次のTraceEventTypeプロパティweb.configファイルではどのようにenumが表されますか?

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

を含むカスタム設定ファイルを持っている

、私は次の値を持つこのプロパティを表す:

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

ザ・結果:私はこれを持っています:

System.Configuration.ConfigurationErrorsException:プロパティ '重大度'の値は解析できません。エラーは次のとおりです。列挙値は、重大、エラー、警告、情報、冗長、開始、停止、中断、再開、転送のいずれかでなければなりません。

+0

私は間違ったことを簡単に見逃していると確信しています...あなたの助けてくれてありがとう... –

答えて

3

エラーメッセージの状態と同じように、設定ファイルで列挙型の値の名前を使用するだけで済みます。例:

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

System.Configurationクラスが列挙型の解析を行います。

+0

私はそれが簡単なものだったと知っていました...ありがとう百万... ...--) –

+0

クール!お役に立てて嬉しいです... – rsbarro