Gli enum in C# vengono utilizzati per definire un insieme di valori costanti nominati che possono essere assegnati alle variabili. Sono utili per definire un set fisso di opzioni per una particolare variabile o parametro. Tuttavia, quando si tratta di visualizzare le opzioni Enum all'utente, non è sempre l'ideale utilizzare direttamente i nomi enum. Associazione dei valori ENUM con stringhe corrispondenti può rendere il codice più leggibile e intuitivo. In questo articolo, discuteremo di come associare Enums a Strings in C# a un codice di esempio.
Associare enums a stringhe in c#
Per associare un enum a una stringa, possiamo usare l'attributo di descrizione. Questo attributo ci consente di allegare una stringa a ciascun valore di un enum. Ecco un esempio:
ENUM PUBBLICO ENUM
[Descrizione ("Valore della stringa")]
Enumvalue
In questa sintassi, definiamo per la prima volta il nostro enum con il nome "Emughame". Quindi, aggiungiamo l'attributo di descrizione a ciascun valore dell'enum. All'interno dell'attributo, aggiungiamo il valore della stringa corrispondente per il valore ENUM più avanti in seguito è un codice C# che illustra l'ENUM ASSEGNAMENTE con le stringhe:
usando il sistema;
Utilizzo del sistema.Componentmodel;
auto enum pubblica
[Descrizione ("Miglior produttore di auto elettriche")]
BMW,
[Descrizione ("auto più affidabili")]
Toyota,
[Descrizione ("auto più sicure da guidare")]
Volvo
Enumextensions di classe statica pubblica
Public Static String GetDescription (questo valore enum)
var field = value.GetType ().Getfield (valore.Accordare());
Attributi var = (DescriptionAttribute []) campo.GetCustomatTributes (typeof (DescriptionAttribute), false);
Attributi di ritorno.Lunghezza> 0 ? Attributi [0].Descrizione: valore.Accordare();
Programma di classe pubblica
Public Static Void Main ()
auto mycar = auto.Volvo;
String MyCarstring = MyCar.GetDescription ();
Console.WriteLine (MyCarstring);
Il codice sopra è un esempio di come associare gli enums alle stringhe in c#. Qui, abbiamo definito una "auto" enum con tre valori: BMW, Toyota e Volvo. Ognuno di questi valori è associato a una stringa corrispondente usando l'attributo di descrizione.
Abbiamo anche definito una classe statica "Enumextensions" che contiene un metodo "getDescription" per ottenere il valore della stringa corrispondente dell'ENUM. Il metodo funziona prima ottenendo le informazioni sul campo per il valore enum usando la riflessione e quindi ottenendo l'attributo di descrizione da quelle informazioni sul campo. Se l'attributo esiste, restituisce il suo valore; Altrimenti, restituisce solo il nome del valore enum.
Infine, nel nostro metodo principale, creiamo una variabile "mycar" di tipo auto e le assegniamo l'auto del valore.Volvo. Chiamiamo quindi il metodo GetDescription su "MyCar" e assegniamo il risultato a "MyCarstring". Infine, stampiamo il valore di "MyCarstring" sulla console, che emette le "auto più sicure da guidare". Ciò dimostra come possiamo facilmente associare i valori ENUM ai valori della stringa usando l'attributo Descrizione e recuperare il valore della stringa corrispondente quando necessario.
Conclusione
Associarsi gli enums alle stringhe in C# può rendere il nostro codice più leggibile e intuitivo e utilizzando l'attributo Descrizione e il metodo GetDescription, possiamo facilmente associare i valori di stringa a ciascun valore ENUM e recuperare la stringa corrispondente quando necessario. Questa tecnica può essere particolarmente utile nelle interfacce utente o quando si lavora con origini dati esterne che utilizzano valori di stringa anziché valori ENUM.