Asociar enumeraciones con cuerdas en C#

Asociar enumeraciones con cuerdas en C#

Las enumeras en C# se utilizan para definir un conjunto de valores constantes nombrados que se pueden asignar a variables. Son útiles para definir un conjunto fijo de opciones para una variable o parámetro particular. Sin embargo, cuando se trata de mostrar las opciones de Enum al usuario, no siempre es ideal usar los nombres de enum. Asociar los valores de Enum con las cadenas correspondientes puede hacer que el código sea más legible y fácil de usar. En este artículo, discutiremos cómo asociar a las enumeras con cadenas en C# con un código de ejemplo.

Asociar enumeraciones con cuerdas en C#

Para asociar un enumio con una cadena, podemos usar el atributo de descripción. Este atributo nos permite adjuntar una cadena a cada valor de un enum. Aquí hay un ejemplo:

Public enum enumname

[Descripción ("Valor de cadena")]
Enumvalor

En esta sintaxis, primero definimos nuestro enumio con el nombre "Enumname". Luego, agregamos el atributo de descripción a cada valor del enum. Dentro del atributo, agregamos el valor de cadena correspondiente para el valor enum más a continuación se encuentra un código C# que ilustra la asociación de enum con cadenas:

usando el sistema;
Uso del sistema.ComponentModel;
coche de enumación pública

[Descripción ("Mejor fabricante de automóviles eléctricos")]
BMW,
[Descripción ("autos más confiables")]
Toyota,
[Descripción ("Los autos más seguros para conducir")]
Volvo

Clase estática pública Enumextensions

Public static String getDescription (este valor enum)

campo var = valor.GetType ().Getfield (valor.Encadenar());
VAR ATTRITIBUTOS = (DescriptionAttribute []) campo.GetCustomAttributes (typeof (descripciónattribute), falso);
Atributos de retorno.Longitud> 0 ? atributos [0].Descripción: Valor.Encadenar();


programa de clase pública

Public static void main ()

coche mycar = coche.Volvo;
cadena mycarstring = mycar.GetDescription ();
Consola.Escritura (mycarstring);

El código anterior es un ejemplo de cómo asociar a las enumeras con cadenas en C#. Aquí, hemos definido un "auto" enum con tres valores: BMW, Toyota y Volvo. Cada uno de estos valores se asocia con una cadena correspondiente utilizando el atributo de descripción.

También hemos definido una clase estática "enumextensions" que contiene un método "getDescription" para obtener el valor de cadena correspondiente del enum. El método funciona primero obteniendo la información de campo para el valor enum usando la reflexión, y luego obteniendo el atributo de descripción de esa información de campo. Si el atributo existe, devuelve su valor; De lo contrario, solo devuelve el nombre del valor enum.

Finalmente, en nuestro método principal, creamos una variable "mycar" de tipo de auto y asignamos el auto de valor.Volvo. Luego llamamos al método GetDescription en "Mycar" y asignamos el resultado a "MyCarstring". Finalmente, imprimimos el valor de "MycarString" en la consola, que genera "los autos más seguros para conducir". Esto demuestra cómo podemos asociar fácilmente los valores de ENUM con los valores de cadena utilizando el atributo de descripción y recuperar el valor de cadena correspondiente cuando sea necesario.

Conclusión

Asociar enums con cadenas en C# puede hacer que nuestro código sea más legible y fácil de usar y al usar el atributo Descripción y el método GetDescription, podemos asociar fácilmente los valores de cadena con cada valor de enum. Y recuperar la cadena correspondiente cuando sea necesario. Esta técnica puede ser especialmente útil en las interfaces de usuario o cuando se trabaja con fuentes de datos externas que usan valores de cadena en lugar de valores de enum.