在Visual Studio 10中(可能還有其他版本),可以使用設計器視圖定義應用程序設置。這些設置似乎只是存儲的公共變量。是否可以在應用程序設置中使用自定義枚舉? (VS10)
有什麼辦法使用自定義枚舉作爲應用程序設置的類型?
我注意到你可以瀏覽枚舉的引用,但似乎無法找到一種方法來指定包含在我的代碼中的枚舉。
在Visual Studio 10中(可能還有其他版本),可以使用設計器視圖定義應用程序設置。這些設置似乎只是存儲的公共變量。是否可以在應用程序設置中使用自定義枚舉? (VS10)
有什麼辦法使用自定義枚舉作爲應用程序設置的類型?
我注意到你可以瀏覽枚舉的引用,但似乎無法找到一種方法來指定包含在我的代碼中的枚舉。
簡短的版本是:
您可以創建自己的ConfigurationSection和ConfigurationSectionGroup(參考System.Configuration第一)。然後,在web.config中定義一個支持您的自定義部分。
如果您需要智能感知,您需要修改C:\ Program Files文件(x86)\ Microsoft Visual Studio 10.0 \ Xml \ Schemas \ DotNetConfig.xsd以包含新節的細節。
例如,假設您想要配置,如下所示:
<tomWright.Framework>
<settings awesomeness="High" coolness="Medium"/>
</tomWright.Framework>
你會創建一個ConfigurationSectionGroup稱爲像TomWrightFrameworkConfigurationSectionGroup(從ConfigurationSectionGroup繼承),並有它有一個屬性調用設置,指向另一個類SettingsConfigurationSection(它從ConfigurationSection繼承)。有關MSDN上的幾個例子如何做到這一點。
這是一個學習曲線,但是當你想從簡單的appSettings到自定義配置的飛躍時 - 實際上只有一種方法可以做到,而且它不是特別直觀。如果您有任何問題,請告訴我,我之前對此表示過肯定。希望這有助於...... -Rob
IIRC您可以在應用程序設置中存儲自定義數據類型,但該類型需要是可串行化的XML或具有實現tostring/fromstring方法的類型轉換器。對於枚舉類型,我認爲你只需要用SerializableAttribute來標記它。現在不在我工作的電腦上查看我的記憶。