Domanda

Ho un'istruzione case in C #. Vorrei scegliere i valori per i casi da un file di configurazione in fase di esecuzione. È possibile?

È stato utile?

Soluzione

Non con uno switch, no. Le etichette di casi devono essere a tempo di compilazione costanti.

Marc Gravell ha un costrutto switch-come si potrebbe usare, da qualche parte ... cercherò di trovarlo. Può anche non essere adatto per il vostro particolare utilizzo però.

In caso contrario, una sequenza di if / else if / else if [...] / il resto è la strada da percorrere.

Altri suggerimenti

Per quanto i valori in uso in una dichiarazione caso in C # dovrebbero essere costanti non credo sia possibile impostare questi in fase di esecuzione da un file di configurazione.

Come altri hanno detto, l'istruzione switch ha bisogno dei valori al momento della compilazione in quanto la tabella hash sottostante è costruito in fase di compilazione. Se si dispone di voci che sono determinati in fase di esecuzione, vorrei utilizzare le tabelle hash / dizionari con il modello di comando o delegati, se fossi in te.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top