Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 17153|Respuesta: 0

[Comunicación] Descripción de características de aumento de valor de enumeración en C#

[Copiar enlace]
Publicado en 28/1/2019 10:48:27 | | |
Añade una descripción de cadena a cada valor de un tipo de enum mediante una característica para impresión o visualización.

Personalizar las características de impresión

La definición de la característica de impresión es sencilla y contiene solo un atributo de cadena.

Definamos un enum

Los tipos de enumeración uno y dos añaden una función de impresión.

Suma el método de extensión de enum para obtener el valor característico de impresión


  • Obtén la cadena enum correspondiente al valor archivado del enum var fieldName = Enum.GetName(t_type, t);
  • Obtén todos los conjuntos de atributos personalizados correspondientes a los atributos var archivados = typeof(TestEnum). GetField(nombreCampo). GetCustomAttributes (false);
  • Obtén la propiedad EnumDisplayAttribute var enumDisplayAttribute = attributes. FirstOrDefault(p => p.GetType(). Igual(tipoof(EnumDisplayAttribute))) como EnumDisplayAttribute;
  • Si existe la propiedad EnumDisplayAttribute, devuelve su valor Display, de lo contrario devuelve la cadena archivada return enumDisplayAttribute == null ? fieldName : enumDisplayAttribute.Display;


Ejemplos de uso

Salida:

Uno  
Tres
Instrucciones extendidas

Este método no solo puede añadir propiedades explicativas al tipo de enum, sino también añadir características personalizadas al tipo personalizado.
Al usar reflexiones, se requieren cadenas para GetField (nombre de cadena), GetMethod (nombre de cadena), GetProperty (nombre de cadena), etc
Puedes usar nameof al obtener un atributo de tipo personalizado o una cadena de nombre de método







Anterior:Lunes, 28 de enero Xie You Morning Post
Próximo:El uso de corchetes angulares en C#, como List<int>
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com