是否可以在应用程序设置中使用自定义枚举?(VS10)

Tom*_*ght 1 c# settings enums visual-studio-2010

在Visual Studio 10(可能还有其他版本)中,可以使用设计器视图定义应用程序设置.这些设置似乎只是存储的公共变量.

有没有办法使用自定义枚举作为应用程序设置的类型?

我注意到你可以浏览枚举的引用,但似乎无法找到一种方法来指定我的代码中包含的枚举.

Rob*_*der 6

简短版本是:

您可以创建自己的ConfigurationSection和ConfigurationSectionGroup(首先参考System.Configuration).然后,在web.config中定义a以支持自定义部分.

如果需要intellisense,则需要修改C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Xml\Schemas\DotNetConfig.xsd以包含新部分的详细信息.

例如,假设您希望配置如下所示:

<tomWright.Framework>
    <settings awesomeness="High" coolness="Medium"/> 
</tomWright.Framework>
Run Code Online (Sandbox Code Playgroud)

您将创建一个名为TomWrightFrameworkConfigurationSectionGroup(继承自ConfigurationSectionGroup)的ConfigurationSectionGroup,并使其具有一个名为Settings的属性,该属性指向另一个类SettingsConfigurationSection(继承自ConfigurationSection).MSDN上有一些关于如何执行此操作的示例.

这是一个学习曲线,但是当你想从简单的appSettings跳到自定义配置时 - 实际上只有一种方法可以实现,而且它并不是特别直观.如果您有任何问题,请告诉我,我以前做过这个问题.希望有所帮助...... - 罗布