Escopo de variáveis

Quando usamos variáveis de memória , constantes e procedimentos dentro do seu aplicativo VB .NET podemos definir o escopo ou visibilidade deles na sua aplicação.

No VB . NET podemos ter quatro tipo de visibilidade :

Escopo a nível de bloco de código

Ao declarar uma variável dentro de um bloco de código ( for/next ,  if/then/else ,Select/case , Do/While) a variável será visível somente dentro do bloco de código na qual foi declarada. Abaixo temos um exemplo de código que mostra isto.

Escopo a nível de Procedure

Uma variável declarada dentro de um procedimento somente é visível dentro do procedimento. Somente o procedimento que contém a variável declarada pode usá-la. Estas variáveis são conhecidas como locais ou estáticas. Você pode declará-las usando a declaração Dim com ou sem a palavra chave Static.

Todos os elementos locais , mesmo se eles forem variáveis estáticas , são privados ao procedimento no qual eles foram declarados . Não podemos declarar um elemento usando a palavra chave Public dentro de um procedimento.

Sub rotina1()

   Dim varTeste As Integer

   varTeste = 200

   rotina2()

   MsgBox("Valor de VarTeste = " & varTeste)

End Sub


Sub rotina2()

    Dim varTeste As Integer

    varTeste = 20000

    MsgBox("Valor de VarTeste = " & varTeste)

End Sub

A variável varTeste criada no procedimento  rotina1() é local e somente será visível dentro de rotina1().

- Ao executar o projeto o procedimento rotina1() será executado e o valor 200 será atribuído a variável varTeste (varTeste=200)

- A rotina2() será chamada e nela  uma variável com o mesmo nome é declarada e o valor 2000 é atribuído a ela.

-  O valor da varTeste será exibido em uma caixa de mensagem com o valor igual a 20000

- Ao retornar a execução para o procedimento rotina1() o valor da variável varTeste é exibido com o valor 200

Isto mostra que a variável varTeste tem o seu valor visível somente em cada rotina que na qual foi declarada , ou seja , ela é uma variável local.

Escopo a nível de Módulo

Ao declarar variáveis e constantes a nível de módulo elas serão visíveis por todos os procedimentos dentro do seu código. Para fazer isto você deve declarar a variável fora de qualquer procedimento que exista no projeto. Geralmente isto é feito depois da linha - Windows Form Designer generated code:

Nota : por conveniência , o termo nível de módulo se aplica a módulos, classes e estrutura . Podemos declarar elementos neste nível colocando a declaração fora de qualquer procedimento ou bloco dentro do módulo , classe ou estrutura.

Visibilidade a nível de projeto (Namespace escopo)

Se você declarar uma variável a nível de módulo usando a palavra-chave Friend ou Public ela torna-se disponível para todos os procedimentos do seu Namespace. Abaixo a variável strTeste pode ser usada por qualquer procedimento do Namespace. Ex: Public strTeste As String

Terminei mais um artigo VB.NET , até o próximo ...


José Carlos Macoratti