Diferencias entre argumentos modificables y no modificables (Visual Basic)

Cuando se llama a un procedimiento, normalmente se pasan uno o varios argumentos a él. Cada argumento corresponde a un elemento de programación subyacente. Tanto los elementos subyacentes como los propios argumentos pueden ser modificables o no modificables.

Elementos modificables y no modificables

Un elemento de programación puede ser un elemento modificable, que puede cambiar su valor, o un elemento no modificable, que una vez creado tiene un valor fijo.

En la tabla siguiente se enumeran los elementos de programación modificables y no modificables.

Elementos modificables Elementos no modificables
Variables locales (declaradas dentro de procedimientos), incluidas las variables de objeto, excepto las de solo lectura Propiedades, campos y variables de solo lectura
Campos (variables de miembros de módulos, clases y estructuras), excepto los de solo lectura Constantes y literales
Propiedades, excepto las de solo lectura Miembros de la enumeración
Elementos de matriz Expresiones (incluso si sus elementos son modificables)

Argumentos modificables y no modificables

Un argumento modificable tiene un elemento subyacente modificable. El código de llamada puede almacenar un nuevo valor en cualquier momento y, si pasa el argumento ByRef, el código del procedimiento también puede modificar el elemento subyacente en el código de llamada.

Un argumento no modificable tiene un elemento subyacente no modificable o se le pasa ByVal. El procedimiento no puede modificar el elemento subyacente en el código de llamada, incluso si es un elemento modificable. Si es un elemento no modificable, el código de llamada como tal no puede modificarlo.

El procedimiento llamado podría modificar su copia local de un argumento no modificable, pero esa modificación no afecta al elemento subyacente en el código de llamada.

Consulte también