Compartir a través de


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 continúa 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 asignó a él. Una variable estática continúa existiendo durante la vigencia de la clase o módulo en la 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 Static variable debe ser un procedimiento o un bloque en un procedimiento, y no puede ser un archivo de origen, 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 deducir los tipos de datos de Static variables locales. Para obtener más información, consulte Inferencia de tipos locales.

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

Comportamiento

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

Cuando se declara una variable estática en un procedimiento que no Sharedes , solo hay 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

En el ejemplo siguiente se 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 todavía tiene el valor más reciente que calculó para él.

El Static modificador se puede usar en este contexto:

Instrucción Dim

Consulte también