Static (Visual Basic)

Especifica que una o varias variables locales declaradas seguirán existiendo y conservarán sus valores más recientes después de finalizar el procedimiento en el que se declaran.

Comentarios

Normalmente, una variable local de un procedimiento deja de existir en cuanto se detiene el procedimiento. Una variable estática sigue existiendo y conserva su valor más reciente. La próxima vez que el código llame al procedimiento, la variable no se reinicializa y todavía contiene el valor más reciente que le asignó. Una variable estática sigue existiendo durante la vigencia de la clase o módulo en el que se define.

Reglas

  • Contexto de declaración. Solo puede usar Static en variables locales. Esto significa que el contexto de declaración de una variable debe ser un procedimiento o un bloque de un procedimiento, y no puede ser un archivo de código fuente, un espacio de Static nombres, una clase, una estructura o un módulo.

    No se puede usar Static dentro de un procedimiento de estructura.

  • No se pueden Static inferir los tipos de datos de variables locales. Para obtener más información, vea Inferencia de tipo local.

  • Modificadores combinados. No se puede Static especificar junto con , o en la misma ReadOnly Shadows Shared declaración.

Comportamiento

Cuando se declara una variable estática en un procedimiento, solo hay una copia Shared de la variable estática disponible para toda la aplicación. Se llama a Shared un procedimiento mediante el nombre de clase, no una variable que apunta a una instancia de la clase .

Cuando se declara una variable estática en un procedimiento que no es , solo hay una copia de la Shared variable disponible para cada instancia de la clase . Se llama a un procedimiento no compartido mediante una variable que apunta a una instancia específica de la clase .

Ejemplo

El siguiente ejemplo muestra el uso de Static.

Function updateSales(ByVal thisSale As Decimal) As Decimal
    Static totalSales As Decimal = 0
    totalSales += thisSale
    Return totalSales
End Function

La Static variable se inicializa en totalSales 0 solo una vez. Cada vez que escriba updateSales , todavía tiene el valor más reciente que totalSales calculó para él.

El Static modificador se puede usar en este contexto:

Instrucción Dim

Consulta también