Como controlar a disponibilidade de uma variável (Visual Basic)
Você controla a disponibilidade de uma variável especificando seu nível de acesso. O nível de acesso determina qual código tem permissão para ler ou gravar na variável.
Variáveis de membro (definidas no nível do módulo e fora de qualquer procedimento) padrão para acesso público, o que significa que qualquer código que possa vê-las pode acessá-las. Você pode alterar isso especificando um modificador de acesso.
Variáveis locais (definidas dentro de um procedimento) normalmente têm acesso público, embora apenas o código dentro de seu procedimento possa acessá-las. Você não pode alterar o nível de acesso de uma variável local, mas você pode alterar o nível de acesso do procedimento que a contém.
Para obter mais informações, consulte Níveis de acesso no Visual Basic.
Acesso privado e público
Para tornar uma variável acessível somente de dentro do seu módulo, classe ou estrutura
Coloque a instrução Dim para a variável dentro do módulo, classe ou estrutura, mas fora de qualquer procedimento.
Inclua a palavra-chave Privado na instrução
Dim
.Você pode ler ou gravar a variável a partir de qualquer lugar dentro do módulo, classe ou estrutura, mas não de fora dele.
Para tornar uma variável acessível a partir de qualquer código que possa vê-la
Para uma variável de membro, coloque a instrução
Dim
para a variável dentro do módulo, classe ou estrutura, mas fora de qualquer procedimento.Inclua a palavra-chave Público na instrução
Dim
.Você pode ler ou gravar na variável a partir de qualquer código que interage com o assembly.
-ou-
Para uma variável local, coloque a instrução
Dim
para a variável dentro de um procedimento.Não inclua a palavra-chave
Public
na instruçãoDim
.Você pode ler ou gravar a variável a partir de qualquer lugar dentro do procedimento, mas não de fora dele.
Acesso protegido e amigo
Você pode limitar o nível de acesso de uma variável à sua classe e às classes derivadas ou ao assembly. Você também pode especificar a união dessas limitações, que permite o acesso do código em qualquer classe derivada ou em qualquer outro local no mesmo assembly. Especifique essa união combinando as palavras-chave Protected
e Friend
na mesma declaração.
Para tornar uma variável acessível somente a partir de dentro da sua classe e de qualquer classe derivada
Coloque a instrução
Dim
para a variável dentro de uma classe, mas fora de qualquer procedimento.Inclua a palavra-chave Protegido na instrução
Dim
.Você pode ler ou gravar na variável a partir de qualquer lugar dentro da classe, bem como de dentro de qualquer classe derivada dela, mas não de fora de qualquer classe na cadeia de derivação.
Para tornar uma variável acessível somente a partir de dentro do mesmo assembly
Coloque a instrução
Dim
para a variável dentro do módulo, classe ou estrutura, mas fora de qualquer procedimento.Inclua a palavra-chave Amigo na instrução
Dim
.Você pode ler ou gravar na variável a partir de qualquer lugar dentro do módulo, classe ou estrutura, bem como a partir de qualquer código no mesmo assembly, mas não de fora do assembly.
Exemplo
O exemplo a seguir mostra declarações de variáveis com Public
, Protected
, Friend
, Protected Friend
e Private
níveis de acesso. Observe que quando a instrução Dim
especifica um nível de acesso, você não precisa incluir a palavra-chave Dim
.
Public Class classForEverybody
Protected Class classForMyHeirs
Friend stringForThisProject As String
Protected Friend stringForProjectAndHeirs As String
Private numberForMeOnly As Integer
Segurança do .NET Framework
Quanto mais restritivo o nível de acesso de uma variável, menores são as chances que o código mal-intencionado possa fazer uso inadequado dela.