Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
Staticen variables locales. Esto significa que el contexto de declaración de unaStaticvariable 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
Staticdentro de un procedimiento de estructura.No se pueden deducir los tipos de datos de
Staticvariables locales. Para obtener más información, consulte Inferencia de tipos locales.Modificadores combinados. No se puede especificar
Staticjunto conReadOnly,ShadowsoShareden 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: