Como declarar enumerações (Visual Basic)

Crie uma enumeração com a instrução Enum na seção declarações de uma classe ou módulo. Você não pode declarar uma enumeração dentro de um método. Para especificar o nível apropriado de acesso, use Private, Protected, Friend ou Public.

Um tipo Enum tem um nome, um tipo subjacente e um conjunto de campos, cada um representando uma constante. O nome deve ser um qualificador .NET válido do Visual Basic. O tipo subjacente deve ser um dos tipos inteiros—Byte, Short, Long ou Integer. Integer é o padrão. As enumerações são sempre fortemente tipadas e não são intercambiáveis com tipos de número inteiro.

As enumerações não podem ter valores de ponto flutuante. Se uma enumeração for atribuída a um valor de ponto flutuante com Option Strict On, resultará em um erro de compilador. Se Option Strict for Off, o valor será convertido automaticamente para o tipo Enum.

Para obter informações sobre nomes e como usar a instrução Imports para tornar a qualificação de nome desnecessária, consulte Enumerações e Qualificação de Nome.

Para declarar uma enumeração

  1. Escreva uma declaração que inclua um nível de acesso de código, a palavra-chave Enum e um nome válido, como nos exemplos a seguir, cada um dos quais declara um diferente 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 as constantes na enumeração. Por padrão, a primeira constante em uma enumeração é inicializada em 0 e as constantes subsequentes são inicializadas em um valor de um a mais do que a constante anterior. Por exemplo, a enumeração a seguir, Days, contém uma constante chamada Sunday com o valor 0, uma constante chamada Monday com o valor 1, uma constante chamada Tuesday com o valor de 2 e assim por diante.

    Public Enum Days
        Sunday
        Monday
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
    End Enum
    
  3. Você pode atribuir explicitamente valores a constantes em uma enumeração usando uma instrução de atribuição. Você pode atribuir qualquer valor inteiro, incluindo números negativos. Por exemplo, talvez você queira constantes com valores menores que zero para representar condições de erro. Na enumeração a seguir, a constante Invalid recebe explicitamente o valor –1 e a constante Sunday recebe o valor 0. Como é a primeira constante na enumeração, Saturday também é inicializada com o valor 0. O valor de Monday é 1 (um a mais do que o valor de Sunday); o valor de Tuesday é 2, e assim por diante.

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

Para declarar uma enumeração como um tipo explícito

  • Especifique o tipo da enumeração usando a cláusula As, conforme mostrado no exemplo a seguir.

    Public Enum MyEnum As Byte
        Zero
        One
        Two
    End Enum
    

Confira também