El objeto de este post es explicar como devolver los datos de un enumerado para poder trabajarlos o mostrarlos por ejemplo en un ComboBox.
Como el código vale más que mil palabras, aquí van dos ejemplos en C# y VB:
C#
1: var query = (from int n in Enum.GetValues(typeof(System.Windows.Forms.DialogResult))
2: select new {
3: n,
4: Key = Enum.GetName(typeof(System.Windows.Forms.DialogResult),n)
5:
6: });
7:
8: comboBox1.DataSource = query.ToList();
9: comboBox1.DisplayMember = "key";
10: comboBox1.ValueMember = "n";
VB
1: Dim query = From n As Integer In [Enum].GetValues(GetType(DialogResult))
2: Select New With {n, .Valor = [Enum].GetName(GetType(DialogResult), n)}
3:
4: ComboBox1.DataSource = query.ToList()
5: ComboBox1.DisplayMember = "Valor"
6: ComboBox1.ValueMember = "n"
En el caso del ejemplo estoy obteniendo los nombres de la enumeración DialogResult, pero se puede utilizar cualquier enumeración existente o propia.
Espero que os sea de utilidad.
Saludos!
Después de haber publicado Obtener Nombres de un Enumerado , Pablo Nuñez( @pablonete ), me ha lanzado