Procedura: creare una variabile che non cambia di valore

Aggiornamento: novembre 2007

La nozione di variabile il cui valore rimane invariato può apparire contraddittoria. Esistono tuttavia situazioni in cui l'utilizzo di una costante non è praticabile, mentre può essere utile disporre di una variabile con un valore fisso. In casi di questo tipo è possibile definire una variabile membro con la parola chiave ReadOnly (Visual Basic).

Non è possibile utilizzare l'Istruzione Const (Visual Basic) per dichiarare e assegnare un valore costante nelle seguenti situazioni:

  • L'istruzione Const non accetta il tipo di dati che si desidera utilizzare.

  • In fase di compilazione non si conosce il valore.

  • In fase di compilazione non è possibile calcolare il valore costante.

Per creare una variabile che non cambia di valore

  1. A livello di modulo dichiarare una variabile membro con l'Istruzione Dim (Visual Basic) e includere la parola chiave ReadOnly (Visual Basic).

    Dim ReadOnly timeStarted
    

    È possibile specificare ReadOnly solo per una variabile membro. Questo significa che è necessario definire la variabile a livello di modulo, all'esterno di qualsiasi routine.

  2. Se in fase di compilazione è possibile calcolare il valore in una singola istruzione, utilizzare una clausola di inizializzazione nell'istruzione Dim. Dopo la clausola As inserire un segno di uguale (=) seguito da un'espressione. Accertarsi che il compilatore sia in grado di valutare questa espressione come valore costante.

    Dim ReadOnly timeStarted As Date = Now
    

    È possibile assegnare un valore a una variabile ReadOnly una sola volta. Dopo questa operazione, il valore non potrà essere modificato da alcun codice.

    Se in fase di compilazione non si conosce il valore né è possibile calcolarlo in una singola istruzione, è comunque possibile assegnarlo in fase di esecuzione in un costruttore. Per eseguire questa operazione, è necessario dichiarare la variabile ReadOnly a livello di classe o di struttura. Nel costruttore relativo alla classe o alla struttura calcolare il valore fisso e assegnarlo alla variabile prima di uscire dal costruttore.

Vedere anche

Riferimenti

WriteOnly

Istruzione Const (Visual Basic)