Buscar este blog

martes, 23 de febrero de 2010

Obtener el nombre de un elemento de Enum

Aquí les dejo un truco rápido para obtener una cadena con el nombre de un elemento de un Enum:

   1:  class Program {
   2:      enum PruebaEnum {
   3:          Enum1,
   4:          Enum2
   5:      }
   6:      static void Main(string[] args) {
   7:          string enumName = Enum.GetName(typeof(PruebaEnum), PruebaEnum.Enum2);
   8:          Console.WriteLine("Nombre de elemento de Enum: {0}", enumName);
   9:          Console.ReadLine();
  10:      }
  11:  }

La clase Enum también tiene otros métodos muy prácticos: obtener todos los nombres del enum, leer un enum desde una cadena obtener todos los miembros del enum en un arreglo.
Aquí esta el ejemplo completo:

   1:  class Program {
   2:      enum PruebaEnum {
   3:          Enum1,
   4:          Enum2
   5:      }
   6:      static void Main(string[] args) {
   7:          string enumName = Enum.GetName(typeof(PruebaEnum), PruebaEnum.Enum2);
   8:          Console.WriteLine("Nombre de elemento de Enum: {0}", enumName);
   9:          PruebaEnum parsed = (PruebaEnum)Enum.Parse(typeof(PruebaEnum), enumName);
  10:          string[] names = Enum.GetNames(typeof(PruebaEnum));
  11:          Console.WriteLine("Todos los elementos del Enum");
  12:          foreach(string i in names) {
  13:              Console.WriteLine(i);
  14:          }
  15:          Console.WriteLine("Desde GetValues");
  16:          Array enums = Enum.GetValues(typeof(PruebaEnum));
  17:          for(int i = 0; i < enums.Length; i++) {
  18:              Console.WriteLine("Valor {0}", Enum.GetName(typeof(PruebaEnum)
  19:                  , (PruebaEnum)enums.GetValue(i)));
  20:          }
  21:          Console.ReadLine();
  22:      }
  23:  }

No hay comentarios:

Publicar un comentario