‘ A menudo dejamos de utilizar las enumeraciones por falta de comprensión.
‘
‘ Recibo algunas preguntas en tanto a cómo utilizarlas, el presente ejemplo intenta
‘ clarificar su uso, así como dar algunas perspectivas nuevas, dando a conocer
‘ algunas características poco conocidas.
‘ Por definición, una enumeración corresponde a una integral asociada a un contenido como constante
‘ En la Sub New, destacar…
‘ .destacar como en ‘Nombres’ obtenemos el tipo de la enumeración ‘Electrodomésticos’
‘ .el uso de [enum].GetNames en forma de array para añadir todos los ítems sin necesidad de iteraciones
‘ .Para hacer mas legible el código utilizando una expresión declarativa de la misma
‘ .Identificar su correspondencia
‘ Si mañana tengo una escapada hablaremos del atributo para uso como flag : <FlagsAttribute>
‘
Class EnumeracionSimple
Inherits Form
Enum Electrodomesticos
Horno
Nevera
Encimera
Campana
Batidora
Plancha
Secadora
Balanza
End Enum
Sub New()
AñadirComboConEnumeracion() ‘Un combo con los ítems de la enumeración
CodigoMasLeible(7)
Identificando(2)
End Sub
‘Un combo con los ítems de la enumeración
Sub AñadirComboConEnumeracion()
‘Al crear la clase
Dim MiCombo As New ComboBox ‘Crear ComboBox
Dim Nombres = GetType(Electrodomesticos) ‘Obtener el tipo de la enum
‘Un combobox con toda la enumeración
MiCombo.Items.AddRange([Enum].GetNames(Nombres).ToArray) ‘Añadir todos sus nombres
MiCombo.Dock = DockStyle.Fill ‘Dock
Me.Controls.Add(MiCombo) ‘Añadir el Combo al Form
End Sub
‘Clarificando cada caso en la selección
Sub CodigoMasLeible(ByVal Seleccion As Integer)
Select Case Seleccion
Case Electrodomesticos.Balanza
MsgBox(«Hola desde Balanza»)
Case Electrodomesticos.Batidora
MsgBox(«Hola desde Batidora»)
Case Electrodomesticos.Encimera
MsgBox(«Hola desde Encimera»)
End Select
End Sub
‘Identificando la selección
Sub Identificando(ByVal Electodomestico As Integer)
MessageBox.Show(«Su nombre es : « + CType(Electodomestico, Electrodomesticos).ToString)
End Sub
End Class