2

我正在编写 cscfg 文件。我想将其值之一呈现为枚举:

enum Importance
{
    None,
    Trivial,
    Regular,
    Important,
    Critical
};

我的 cscfg 文件有以下设置:

<Setting name="MySettings" value="None">
  1. 在 cscfg 中显示枚举是否正确?
  2. 如何将此值读取到实际枚举?以及如何验证该值是否与枚举不匹配?

例如:

<Setting name="MySettings" value="Kuku">
4

2 回答 2

4

读取值就像读取字符串中的任何其他配置一样。然后使用Enum.TryParse<>检查字符串并将其转换为枚举。

于 2014-04-07T18:54:18.837 回答
3

您可以Enum.TryParse为此使用:

var value = valueFromConfigFile;
Importance val;
if (Enum.TryParse(value, true, out val)){
    // OK, go ahead
}
else{
    // enum not recognized
}    
于 2014-04-07T18:54:09.040 回答