2012-08-11 16 views
8

Vorrei utilizzare il mio enum in un'impostazione di progetto (da Visual Studio, progetto menu, proprietà, impostazioni scheda).Utilizzo di enum proprio nelle impostazioni

Posso selezionare un sacco di tipi predefiniti, ma anche tipi da altri progetti nella mia soluzione, ma non il progetto stesso.

È possibile utilizzare un tipo di enumerazione dal progetto come tipo per un'impostazione?

+2

Si prega di essere consapevoli del fatto che i tag non sono parole chiave. Cioè, combinando i tag 'visual' e' studio' non significa che stai parlando di Visual Studio. – Charles

risposta

4

Sì, ma ci vuole un po 'di mani in. Vedere l'articolo this per i suggerimenti su come realizzarlo.

+0

Probabilmente il modo migliore, ma davvero troppo lavoro (dà molte altre domande). –

1

Non per quanto ne so.

Ma si potrebbe fare qualcosa di simile: (. Scritto qui solo senza il controllo IDE sytax, ti prego di perdonare eventuali errori di sintassi)

string setting = ConfigurationManager.AppSettings.Get("yourSetting"); 
YourEnum yourEnumVariable = (YourEnum)Enum.Parse(typeof(YourEnum), setting); 

+0

Attualmente sto usando int ma le stringhe potrebbero essere migliori (usare gli switch richiede molto codice). –

+0

Appena controllato ... ma in questo caso mi manca la sicurezza del tipo, non credo che le int e le stringhe siano davvero importanti. –

0

Facilmente.

Anche se nell'elenco di selezione vengono visualizzati tipi da tutti i tipi di assiemi tranne il proprio, se si digita il numero esatto NamespaceQualified.NameOfYourEnum nella casella di testo nella parte inferiore, funzionerà e la GUI mostrerà un elenco a discesa di valori Enum.

Testato in VS2013.

Se si commette un errore, questo viene rilevato durante la compilazione ed è possibile modificare il file settings.settings da correggere.

Problemi correlati