Estático (Visual Basic)

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 elas são declaradas.

Comentários

Normalmente, uma variável local em um procedimento deixa de existir assim que o procedimento pára.Uma variável estática continua a existir e mantém seu valor mais recente.Na próxima vez em que seu código chamar o procedimento, a variável não será reinicializada, e ele ainda conterá 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 do módulo no qual ela está definida.

Regras.

  • Contexto da Declaração. Você pode usar Static somente em variáveis locais.Isso significa que o contexto da declaração para uma variável Static deve ser um procedimento ou um bloco em um procedimento, e ele não pode ser um arquivo de origem, namespace, classe, estrutura ou módulo.

    Não é possível usar Static dentro de um procedimento de estrutura.

  • Os tipos de dados de variáveis locais Static não podem ser inferidos.Para mais informações, consulte Inferência de tipo de local (Visual Basic).

  • Modificadores Combinados. Não é possível especificar Static com ReadOnly, Shadows, ou Shared na mesma declaração.

Comportamento

Quando você declara uma variável estática em uma Shared procedimento, somente uma cópia da variável estática está disponível para o aplicativo inteiro.Você chamar um Shared nome do procedimento, usando a 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, somente uma cópia da variável está disponível para cada instância da classe.Chamar 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 variável StatictotalSales foi inicializada para 0 somente uma vez.Cada vez que você inserir updateSales,totalSales ainda tem o valor mais recente que você calculou para ela.

O modificador Static pode ser utilizado neste contexto:

Instrução (Visual Basic) Dim

Consulte também

Referência

Sombras (Visual Basic)

Compartilhado (Visual Basic)

Conceitos

Tempo de vida em Visual Basic

Declaração de variável em Visual Basic

Inferência de tipo de local (Visual Basic)

Outros recursos

Estruturas (Visual Basic)

Objetos e Classes em Visual Basic