Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Especifica que uma ou mais variáveis locais declaradas devem continuar a existir e manter seus valores mais recentes após o término do procedimento no qual são declaradas.
Observações
Normalmente, uma variável local em um procedimento deixa de existir assim que o procedimento é interrompido. Uma variável estática continua a existir e mantém seu valor mais recente. Da próxima vez que o código chamar o procedimento, a variável não será reinicializada e ainda manterá o valor mais recente que você atribuiu a ela. Uma variável estática continua a existir durante o tempo de vida da classe ou módulo em que está definida.
Regras
Contexto da Declaração. Você pode usar
Staticapenas em variáveis locais. Isso significa que o contexto de declaração para umaStaticvariável deve ser um procedimento ou um bloco em um procedimento, e não pode ser um arquivo de origem, namespace, classe, estrutura ou módulo.Você não pode usar
Staticdentro de um procedimento de estrutura.Os tipos de dados das
Staticvariáveis locais não podem ser inferidos. Para obter mais informações, consulte Inferência de tipo local.Modificadores combinados. Não é possível especificar
Staticjuntamente comReadOnly,ShadowsouSharedna mesma declaração.
Comportamento
Quando você declara uma variável estática em um Shared procedimento, apenas uma cópia da variável estática está disponível para todo o aplicativo. Você chama um Shared procedimento usando o nome da classe, não uma variável que aponta para uma instância da classe.
Quando você declara uma variável estática em um procedimento que não Sharedé, apenas uma cópia da variável está disponível para cada instância da classe. Você chama um procedimento não compartilhado usando uma variável que aponta para uma instância específica da classe.
Exemplo
O exemplo a seguir demonstra o uso de Static.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
A Static variável totalSales é inicializada como 0 apenas uma vez. Cada vez que você insere updateSales, totalSales ainda tem o valor mais recente que você calculou para ele.
O Static modificador pode ser usado neste contexto: