La noción de una variable que no cambia de valor podría parecer contradictoria. Pero hay situaciones en las que una constante no es factible y es útil tener una variable con un valor fijo. En tal caso puede definir una variable miembro con la palabra clave ReadOnly (Visual Basic).
No puede utilizar Instrucción Const (Visual Basic) para declarar y asignar un valor constante en las circunstancias siguientes:
- La instrucción Const no acepta el tipo de datos que desea utilizar.
- 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 cambia de valor
- En el nivel de módulo, declare una variable miembro con Instrucción Dim (Visual Basic) e incluya la palabra clave ReadOnly (Visual Basic)
Dim ReadOnly timeStarted
Sólo puede especificar ReadOnly en una variable miembro. Esto significa que debe definir la variable en el nivel de módulo, fuera de cualquier procedimiento.
- Si puede calcular el valor en una instrucción única en el momento de la compilación, utilice una cláusula de inicialización en la instrucción Dim. Agregue detrás de la cláusula As 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
Sólo puede asignar una vez un valor a una variable ReadOnly. Una vez hecho esto, ningún código podrá cambiar nunca su valor.
Si no conoce el valor o no puede calcularlo en una instrucción única en tiempo de compilación, puede asignarlo durante el tiempo de ejecución en un constructor. Para ello, debe declarar la variable ReadOnly en la clase o nivel de estructura. En el constructor para esa clase o estructura, calcule el valor fijo de la variable y asígnelo a la variable antes de que vuelva del constructor.
No hay comentarios:
Publicar un comentario