Deklariert einen Typ für eine Aufzählung.
Syntax
[Public | Private] Enum Name
Elementname [= Konstantenausdruck]
Elementname [= Konstantenausdruck]
. . .
End Enum
Die Syntax der Enum-Anweisung besteht aus folgenden Teilen:
Teil | Beschreibung |
---|---|
Public | Optional. Legt fest, daß der Enum-Typ im gesamten Projekt sichtbar sein soll. Enum-Typen sind standardmäßig Public. |
Private | Optional. Legt fest, daß der Enum-Typ nur innerhalb des Moduls sichtbar sein soll, in dem er angezeigt wird. |
Name | Erforderlich. Der Name des Enum-Typs. Name muß ein zulässiger Visual Basic-Kennzeichner sein und wird beim Deklarieren von Variablen oder Parametern vom Enum-Typ als Typ angegeben. |
Elementname | Erforderlich. Ein zulässiger Visual Basic-Kennzeichner, der den Namen angibt, der für ein konstituierendes Element des Enum-Typs verwendet werden soll. |
Konstantenausdruck | Optional. Wert des Elements (ergibt eine Long). Wird Konstantenausdruck nicht angegeben, so wird entweder der Wert Null (falls es der erste Elementname ist) oder der Wert des unmittelbar vorangehenden Arguments Elementname plus 1 zugewiesen. |
Anmerkungen
Aufzählvariablen sind Variablen, die mit einem Enum-Typ deklariert werden. Sowohl Variable als auch Parameter können mit einem Enum-Typ deklariert werden. Die Elemente des Enum-Typs werden in der Enum-Anweisung auf konstante Werte initialisiert. Die zugewiesenen Werte können zur Laufzeit nicht geändert werden. Sie können sowohl positive als auch negative Werte annehmen. Beispiel:
Enum SicherheitsLevel IllegalerEintrag = -1 SicherheitsLevel1 = 0 SicherheitsLevel2 = 1 End Enum
Eine Enum-Anweisung kann nur auf Modulebene angegeben werden. Sobald der Enum-Typ definiert ist, kann er zur Deklaration von Variablen, Parametern oder Prozeduren, die diesen Typ zurückgeben, verwendet werden. Sie können den Namen eines Enum-Typs nicht mit einem Modulnamen qualifizieren. Public Enum-Typen in einem Klassenmodul sind keine Elemente der Klasse, können aber in die Klassenbibliothek geschrieben werden. Enum-Typen, die in Standardmodulendefiniert werden, werden nicht in Typenbibliotheken geschrieben. Public Enum-Typen desselben Namens können nicht sowohl in Standardmodulen als auch in Klassenmodulen verwendet werden, da diese denselben Namensraum gemeinsam haben. Wenn zwei Enum-Typen in unterschiedlichen Bibliotheken denselben Namen, aber unterschiedliche Elemente haben, hängt die Referenz auf eine Variable des Typs davon ab, welche Typenbibliothek in Verweise die höhere Priorität hat.
Sie können einen Enum-Typ nicht als Ziel in einem With-Block verwenden.