Compartir a través de


Cómo: Crear una variable que no cambie en el valor (Visual Basic)

La noción de una variable que no cambia su valor puede parecer contraria. Pero hay situaciones en las que una constante no es factible y resulta útil tener una variable con un valor fijo. En tal caso, puede definir una variable miembro con la palabra clave ReadOnly .

No puede usar la instrucción Const para declarar y asignar un valor constante en las circunstancias siguientes:

  • La Const instrucción no acepta el tipo de datos que desea usar.

  • Usted no conoce el valor en tiempo de compilación

  • No puede calcular el valor constante en tiempo de compilación.

Para crear una variable que no cambie en el valor

  1. En el nivel de módulo, declara una variable miembro con la Instrucción Dim e incluye la palabra clave ReadOnly.

    Dim ReadOnly timeStarted
    

    Solo puedes especificar ReadOnly en una variable miembro. Esto significa que debe definir la variable en el nivel de módulo, fuera de cualquier procedimiento.

  2. Si puede calcular el valor en una sola instrucción en tiempo de compilación, use una cláusula de inicialización en la Dim instrucción . Siga la cláusula As con un signo igual (=), seguido de una expresión. Asegúrese de que el compilador puede evaluar esta expresión en un valor constante.

    Dim ReadOnly timeStarted As Date = Now
    

    Puede asignar un valor a una ReadOnly variable solo una vez. Una vez hecho esto, ningún código puede cambiar nunca su valor.

    Si no conoce el valor en tiempo de compilación o no puede calcularlo en tiempo de compilación en una sola instrucción, todavía puede asignarlo en tiempo de ejecución en un constructor. Para ello, debe declarar la ReadOnly variable en el nivel de clase o estructura. En el constructor de esa clase o estructura, calcule el valor fijo de la variable y asígnelo a la variable antes de volver del constructor.

Consulte también