Cómo: Declarar enumeraciones (Visual Basic)How to: Declare Enumerations (Visual Basic)

Cree una enumeración con la instrucción Enum en la sección de declaraciones de una clase o módulo.You create an enumeration with the Enum statement in the declarations section of a class or module. No se puede declarar una enumeración dentro de un método.You cannot declare an enumeration within a method. Para especificar el nivel de acceso adecuado, utilice Private, Protected, Friendo Public.To specify the appropriate level of access, use Private, Protected, Friend, or Public.

Un tipo de Enum tiene un nombre, un tipo subyacente y un conjunto de campos, cada uno de los cuales representa una constante.An Enum type has a name, an underlying type, and a set of fields, each representing a constant. El nombre debe ser un calificador de .NET Visual Basic válido.The name must be a valid Visual Basic .NET qualifier. El tipo subyacente debe ser uno de los tipos enteros (Byte, Short, Long o Integer.The underlying type must be one of the integer types—Byte, Short, Long or Integer. Integer es el valor predeterminado.Integer is the default. Las enumeraciones siempre tienen un tipo seguro y no son intercambiables con tipos de números enteros.Enumerations are always strongly typed and are not interchangeable with integer number types.

Las enumeraciones no pueden tener valores de punto flotante.Enumerations cannot have floating-point values. Si a una enumeración se le asigna un valor de punto flotante con Option Strict On, se producirá un error del compilador.If an enumeration is assigned a floating-point value with Option Strict On, a compiler error results. Si Option Strict es Off, el valor se convierte automáticamente al tipo Enum.If Option Strict is Off, the value is automatically converted to the Enum type.

Para obtener información sobre los nombres y el uso de la instrucción Imports para que la calificación de nombres sea innecesaria, vea enumeraciones y calificación de nombres.For information on names, and how to use the Imports statement to make name qualification unnecessary, see Enumerations and Name Qualification.

Para declarar una enumeraciónTo declare an enumeration

  1. Escriba una declaración que incluya un nivel de acceso de código, la palabra clave Enum y un nombre válido, como en los ejemplos siguientes, cada uno de los cuales declara un Enumdiferente.Write a declaration that includes a code access level, the Enum keyword, and a valid name, as in the following examples, each of which declares a different Enum.

    Private Enum SampleEnum
            SampleMember
        End Enum
        Public Enum SampleEnum2
            SampleMember
        End Enum
        Protected Enum SampleEnum3
            SampleMember
        End Enum
        Friend Enum SampleEnum4
            SampleMember
        End Enum
        Protected Friend Enum SampleEnum5
            SampleMember
        End Enum
    
  2. Defina las constantes en la enumeración.Define the constants in the enumeration. De forma predeterminada, la primera constante de una enumeración se inicializa en 0y las constantes subsiguientes se inicializan en un valor de uno más que la constante anterior.By default, the first constant in an enumeration is initialized to 0, and subsequent constants are initialized to a value of one more than the previous constant. Por ejemplo, la enumeración siguiente, Days, contiene una constante denominada Sunday con el valor 0, una constante denominada Monday con el valor 1, una constante denominada Tuesday con el valor de 2, etc.For example, the following enumeration, Days, contains a constant named Sunday with the value 0, a constant named Monday with the value 1, a constant named Tuesday with the value of 2, and so on.

    Public Enum Days
      Sunday
      Monday
      Tuesday
      Wednesday
      Thursday
      Friday
      Saturday
    End Enum
    
  3. Puede asignar valores explícitamente a constantes en una enumeración mediante una instrucción de asignación.You can explicitly assign values to constants in an enumeration by using an assignment statement. Puede asignar cualquier valor entero, incluidos los números negativos.You can assign any integer value, including negative numbers. Por ejemplo, puede que desee usar constantes con valores inferiores a cero para representar condiciones de error.For example, you may want constants with values less than zero to represent error conditions. En la enumeración siguiente, a la constante Invalid se le asigna explícitamente el valor –1y se asigna a la Sunday constante el valor 0.In the following enumeration, the constant Invalid is explicitly assigned the value –1, and the constant Sunday is assigned the value 0. Dado que es la primera constante de la enumeración, Saturday también se inicializa en el valor 0.Because it is the first constant in the enumeration, Saturday is also initialized to the value 0. El valor de Monday es 1 (uno más que el valor de Sunday); el valor de Tuesday es 2, etc.The value of Monday is 1 (one more than the value of Sunday); the value of Tuesday is 2, and so on.

    Public Enum WorkDays
      Saturday
      Sunday = 0
      Monday
      Tuesday
      Wednesday
      Thursday
      Friday
      Invalid = -1
    End Enum
    

Para declarar una enumeración como un tipo explícitoTo declare an enumeration as an explicit type

  • Especifique el tipo de la enumeración mediante la cláusula As, como se muestra en el ejemplo siguiente.Specify the type of the enum by using the As clause, as shown in the following example.

    Public Enum MyEnum As Byte
      Zero
      One
      Two
    End Enum
    

Vea tambiénSee also