Freigeben über


Gewusst wie: Erstellen einer Variablen mit unveränderlichem Wert

Aktualisiert: November 2007

Variablen mit unveränderlichem Wert scheinen auf den ersten Blick widersinnig zu sein. Es gibt jedoch Situationen, in denen eine Konstante nicht zulässig ist, während eine Variable mit einem festen Wert hilfreich ist. In einem solchen Fall können Sie eine Membervariable mit dem ReadOnly (Visual Basic)-Schlüsselwort definieren.

In folgenden Fällen können Sie die Const-Anweisung (Visual Basic) nicht zum Deklarieren und Zuweisen eines konstanten Werts verwenden:

  • Die Const-Anweisung übernimmt den gewünschten Datentyp nicht.

  • Der Wert ist zur Kompilierungszeit nicht bekannt.

  • Sie können den konstanten Wert zur Kompilierungszeit nicht berechnen.

So erstellen Sie eine Variable mit unveränderlichem Wert

  1. Deklarieren Sie auf Modulebene eine Membervariable mit der Dim-Anweisung (Visual Basic), und fügen Sie das ReadOnly (Visual Basic)-Schlüsselwort ein.

    Dim ReadOnly timeStarted
    

    Sie können ReadOnly nur bei einer Membervariablen angeben. Dies bedeutet, dass Sie die Variable außerhalb jeder Prozedur auf Modulebene definieren müssen.

  2. Wenn Sie den Wert zur Kompilierungszeit in einer einzigen Anweisung berechnen können, verwenden Sie in der Dim-Anweisung eine Initialisierungsklausel. Fügen Sie nach der As-Klausel ein Gleichheitszeichen (=) und danach einen Ausdruck ein. Stellen Sie sicher, dass der Compiler diesen Ausdruck als einen konstanten Wert auswerten kann.

    Dim ReadOnly timeStarted As Date = Now
    

    Einer ReadOnly-Variablen können Sie einen Wert nur einmal zuweisen. Anschließend kann dieser Wert durch keinen Code mehr geändert werden.

    Wenn der Wert zur Kompilierungszeit nicht bekannt ist oder Sie ihn nicht in einer einzelnen Anweisung berechnen können, haben Sie zur Laufzeit immer noch die Möglichkeit, ihn in einem Konstruktor zuzuweisen. Dazu müssen Sie die ReadOnly-Variable auf Klassen- oder Strukturebene deklarieren. Berechnen Sie im Konstruktor für die betreffende Klasse oder Struktur den unveränderlichen Wert der Variablen, und weisen Sie ihn der Variablen zu, bevor Sie den Konstruktor verlassen.

Siehe auch

Referenz

WriteOnly

Const-Anweisung (Visual Basic)