Diferenças entre os argumentos podem ser modificadas e Nonmodifiable (Visual Basic)

Quando você chama um procedimento, você normalmente passa um ou mais argumentos para ele.Cada argumento corresponde a um elemento de programação subjacente.Tanto os elementos subjacentes e os próprios argumentos podem ser tanto modificáveis ou não modificáveis.

Elementos modificável e Não-modificável

Um elemento de programação pode ser tanto um elemento modificável, o qual pode ter seu valor alterado, ou um elemento não modificável, que tem um valor fixo após ele ter sido criado.

A tabela a seguir lista elementos de programação modificáveis e não modificáveis.

Elementos modificáveis

Elementos não modificáveis

Variáveis locais (declaradas dentro de procedimentos), incluindo variáveis de objeto, exceto para somente leitura

Variáveis somente-leitura, campos e propriedades

Campos (membro variáveis de módulos, classes e estruturas), exceto para somente leitura

Literais e constantes

Propriedades, exceto para somente leitura

Membros de enumeração

Elementos da matriz

Expressões (mesmo se seus elementos são modificáveis)

Elementos modificáveis e não modificáveis

Um argumento modificável é uma com um elemento subjacente modificável.O código de chamada pode armazenar um novo valor a qualquer momento, e se você passar o argumento ByRef (Visual Basic), o código no procedimento também pode modificar o elemento subjacente no código de chamada.

Um argumento não modificável possui um elemento subjacente não modificável ou é passado ByVal (Visual Basic).O procedimento não pode modificar o elemento subjacente no código de chamada, mesmo se ele for um elemento modificável.Se ele é um elemento não modificável, o próprio código de chamada não pode modificá-lo.

O procedimento chamado pode modificar sua cópia local de um argumento não modificável, mas esta modificação não afeta o elemento sunjacente no código de chamada.

Consulte também

Tarefas

Como: passar argumentos para um procedimento (Visual Basic)

Como: alterar o valor de um argumento de procedimento (Visual Basic)

Como: proteger contra alterações de valor (Visual Basic), um argumento de procedimento

Como: forçar um argumento para ser passados por valor (Visual Basic)

Conceitos

Procedimentos no Visual Basic

Parâmetros de procedimentos e argumentos (Visual Basic)

Passando argumentos por valor e por referência (Visual Basic)

Diferenças entre passar um argumento pelo valor e por referência (Visual Basic)

Passando argumentos por posição e por nome (Visual Basic)

Tipos de valor e referência