Искам да използвам enum в моя раздел за персонализирана конфигурация. Така че внедрих enum DatabaseMode и съответното свойство.
Също така внедрих съответното свойство в моя System.Configuration.ConfigurationElement
. Но за да работи IntelliSense в web.config, трябва да осигуря дефиницията на схемата (xsd), отразяваща същата структура в xsd формат.
Въпросът ми е как трябва да изглежда схемата, за да поддържа enum?
Преброяването с различните опции:
public enum DatabaseMode
{
Development,
Deployment,
Production
}
Свойството, съхраняващо информацията за режима:
[ConfigurationProperty(databaseAlias)]
public DatabaseElement Database
{
get { return (DatabaseElement)this[databaseAlias]; }
set { this[databaseAlias] = value; }
}
Под важната част от моя файл със схема:
<xs:element name="database">
<xs:complexType>
<xs:attribute name="server" type="xs:anyURI" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="user" type="xs:string" use="required" />
<xs:attribute name="password" type="xs:string" use="required" />
</xs:complexType>
</xs:element>