在运行时从web.config获取枚举值

Ela*_*hmi 20 c# asp.net

我有一个枚举,我想在运行时从web.config获取.我开始阅读有关构建提供程序的内容,但这似乎适用于类.有人能指出我的一个例子,或者至少指出我正确的方向.

现在我在web.config中有一个逗号分隔的值列表,这不是类型安全的,容易出错.

如果有另一种方法可以获得这种"动态枚举",我会对其他想法持开放态度.

谢谢!

Dav*_*rák 29

您可以使用ConfigurationManager并将值转换为枚举:

<configuration> 
  <appSettings>
    <add key="YourEnum" value="BlueSky" />  
  </appSettings>
</configuration>

string configValue = ConfigurationManager.AppSettings["YourEnum"];
YourEnumType value = (YourEnumType)Enum.Parse(typeof(YourEnumType), configValue ); 
Run Code Online (Sandbox Code Playgroud)