Freigeben über


Vorgehensweise: Erstellen einer Variable, die sich nicht in Wert ändert (Visual Basic)

Der Begriff einer Variablen, die ihren Wert nicht ändert, könnte widersprüchlich erscheinen. Es gibt jedoch Situationen, in denen eine Konstante nicht machbar ist und es nützlich ist, eine Variable mit einem festen Wert zu verwenden. In einem solchen Fall können Sie eine Membervariable mit dem Schlüsselwort ReadOnly definieren.

Sie können die Const-Anweisung nicht verwenden, um unter den folgenden Umständen einen Konstantenwert zu deklarieren und zuzuweisen:

  • Die Const Anweisung akzeptiert nicht den Datentyp, den Sie verwenden möchten.

  • Sie kennen den Wert zur Kompilierungszeit nicht.

  • Sie können den Konstantenwert zur Kompilierungszeit nicht berechnen.

So erstellen Sie eine Variable, die sich nicht im Wert ändert

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

    Dim ReadOnly timeStarted
    

    Sie können nur ReadOnly für eine Membervariable angeben. Dies bedeutet, dass Sie die Variable auf Modulebene außerhalb einer Prozedur definieren müssen.

  2. Wenn Sie den Wert in einer einzelnen Anweisung zur Kompilierungszeit berechnen können, verwenden Sie eine Initialisierungsklausel in der Dim Anweisung. Folgen Sie der As-Klausel mit einem Gleichheitszeichen (=), gefolgt von einem Ausdruck. Stellen Sie sicher, dass der Compiler diesen Ausdruck in einen konstanten Wert auswerten kann.

    Dim ReadOnly timeStarted As Date = Now
    

    Sie können einer Variablen nur einmal einen ReadOnly Wert zuweisen. Sobald Sie dies tun, kann kein Code seinen Wert ändern.

    Wenn Sie den Wert zur Kompilierungszeit nicht kennen oder ihn nicht zur Kompilierungszeit in einer einzelnen Anweisung berechnen können, können Sie ihn trotzdem zur Laufzeit in einem Konstruktor zuweisen. Dazu müssen Sie die ReadOnly Variable auf Klassen- oder Strukturebene deklarieren. Berechnen Sie im Konstruktor für diese Klasse oder Struktur den festen Wert der Variablen, und weisen Sie sie der Variablen zu, bevor sie vom Konstruktor zurückgegeben wird.

Siehe auch