Utilizzo di VS2010 e .net V4.0 Vorrei ottenere quanto segue:Valori delle stringhe C# come valori delle stringhe Enum?
Ho già 2 file di risorse nel mio progetto per 2 lingue: inglese e ceco.
devo dire Resource Management in .net è eccellente, io sono sorpreso anche per ottenere il completamento del codice in sede di attuazione di una stringa, ad esempio:
string desc = Strings.ResourceManagerDesc
Questo ottiene la stringa associata con l'attuale cultura del thread.
Ora sto cercando di creare un Enum che può avere la parte String dell'Enum interpretata dalle risorse di Stringhe. Nel modo seguente (Questo codice non funziona):
public enum DownloadStatus
{
1 = Strings.DownloadState_Complete,
2 = Strings.DownloadState_Failed,
3 = Strings.DownloadState_InProgress
}
questo è un esempio fatta, ma si può vedere il punto qui. Dal momento che il codice sopra non funzionerà, c'è un modo migliore per ottenere ciò che voglio?
Che cosa stai cercando di ottenere esattamente? –
@Robert, diciamo che avevo un tipico enum contenente i valori pronti, impostati, vai - ora quando eseguo un myEnum.ToString() ottengo il valore stringa pronto, impostato, stampato (dipende se enum è 1,2 , 3). Quello che sto cercando di fare è localizzare questo valore di stringa in base alla cultura, l'Enum.ToString dovrebbe stampare il valore in base alla cultura corrente. –
@JL ha aggiunto una risposta che localizza un enum. Si noti che non è possibile localizzare le stringhe enum con Enum.ToString(), ma è possibile ottenere la localizzazione tramite un metodo per convertire un enum in una stringa di risorse, che è possibile recuperare dalle risorse. –