Enums in C# są używane do zdefiniowania zestawu wymienionych stałych wartości, które można przypisać do zmiennych. Są przydatne w definiowaniu ustalonego zestawu opcji dla określonej zmiennej lub parametru. Jednak jeśli chodzi o wyświetlanie opcji enumu użytkownikowi, nie zawsze idealnie jest bezpośrednio używać nazw enum. Powiązanie wartości enum z odpowiednimi ciągami może sprawić, że kod jest bardziej czytelny i przyjazny dla użytkownika. W tym artykule omówimy, jak kojarzyć enums z Strings in C# z przykładowym kodem.
Kojarzenie wyliczania ze strunami w C#
Aby powiązać enum z ciągiem, możemy użyć atrybutu opisu. Ten atrybut pozwala nam dołączyć ciąg do każdej wartości wyliczenia. Oto przykład:
Public Enum Enumma
[Opis („wartość ciągu”)]
Wartość enum
W tej składni najpierw definiujemy nasze enum z nazwą „ENUNMAME”. Następnie dodajemy atrybut opisu do każdej wartości enum. Wewnątrz atrybutu dodajemy odpowiednią wartość ciągów dla wartości wyliczania poniżej znajduje się kod C# ilustruje kojarzenie enum z ciągami:
za pomocą systemu;
za pomocą systemu.ComponentModel;
Publiczny samochód wyliczony
[Opis („Najlepszy producent samochodów elektrycznych”)]
BMW,
[Opis („Najbardziej niezawodne samochody”)]
Toyota,
[Opis („Najbardziej najbezpieczniejsze samochody do jazdy”)]
Volvo
Upokrzeczania publicznych klasy statycznej
publiczne statyczne getDescription (ta wartość enum)
var pole = wartość.GetType ().Getfield (wartość.ToString ());
var atrybuty = (opisAttribute []).GetCustomAttributes (typeof (opisAttribute), false);
atrybuty powrotu.Długość> 0 ? atrybuty [0].Opis: Wartość.ToString ();
Program klasy publicznej
public static void main ()
Mycar samochodu = samochód.Volvo;
String mycarstring = mycar.GetDescription ();
Konsola.WriteLine (Mycarstring);
On powyżej kodu jest przykładem, jak kojarzyć wyliczenie z strunami w C#. Tutaj zdefiniowaliśmy „samochód” z trzema wartościami - BMW, Toyota i Volvo. Każda z tych wartości jest powiązana z odpowiednim ciągiem za pomocą atrybutu opisu.
Zdefiniowaliśmy również „klasę statyczną”, która zawiera metodę „getDescription”, aby uzyskać odpowiednią wartość ciągu wyliczenia. Metoda działa, najpierw uzyskanie informacji pola dla wartości wyliczania za pomocą refleksji, a następnie uzyskanie atrybutu opisu z tego pola informacji. Jeśli atrybut istnieje, zwraca swoją wartość; W przeciwnym razie zwraca nazwę wartości enum.
Wreszcie, w naszej głównej metodzie, tworzymy zmienną „mycar” samochodu typu i przypisujemy go samochodem wartości.Volvo. Następnie wywołujemy metodę getDescription na „MyCar” i przypisujemy wynik do „MyCarstring”. Wreszcie, drukujemy wartość „Mycrarstring” do konsoli, która wyświetla „najbezpieczniejsze samochody do prowadzenia”. To pokazuje, w jaki sposób możemy łatwo powiązać wartości enum z wartościami ciągów za pomocą atrybutu opisu i odzyskać odpowiednią wartość ciągu w razie potrzeby.
Wniosek
Kojarzenie wyliczania z ciągami w C# może sprawić, że nasz kod jest bardziej czytelny i przyjazny dla użytkownika oraz za pomocą atrybutu opisu i metody getDescript. Ta technika może być szczególnie przydatna w interfejsach użytkownika lub podczas pracy z zewnętrznymi źródłami danych, które wykorzystują wartości ciągów zamiast wartości wyliczania.