Static (Visual Basic)

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

Observaciones

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, no se reinicializará la variable y se conservará el valor más reciente que le haya asignado. Una variable estática sigue existiendo mientras dure la clase o el módulo en el que se define.

Reglas

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

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

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

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

Comportamiento

Cuando se declara una variable estática en un Shared procedimiento, solo hay una copia de la variable estática disponible para toda la aplicación. Se llama a un Shared 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 Shared , solo está disponible una copia de la variable 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 totalSales se inicializa en 0 solo una vez. Cada vez que escriba updateSales , totalSales seguirá teniendo el valor más reciente que calculó para él.

El Static modificador se puede usar en este contexto:

Instrucción Dim

Vea también