Compartir a través de


Diferencias entre argumentos modificables y no modificables

Actualización: noviembre 2007

Cuando se llama a un procedimiento, normalmente se transfieren uno o varios argumentos a dicho procedimiento. Cada argumento se corresponde con un elemento de programación subyacente. Los elementos subyacentes y los argumentos pueden ser modificables o no modificables.

Elementos modificables y no modificables

Un elemento de programación puede ser un elemento modificable, cuyo valor se puede modificar, o un elemento no modificable, cuyo valor se mantiene fijo una vez que se ha creado.

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

Elementos modificables

Elementos no modificables

Variables locales (se declaran dentro de los procedimientos), incluidas las variables de objeto, excepto las de sólo lectura

Variables, campos y propiedades de sólo lectura

Campos (variables miembro de módulos, clases y estructuras), excepto las de sólo lectura

Constantes y literales

Propiedades, salvo las de sólo lectura

Miembros de enumeraciones

Elementos matriciales

Expresiones (aun cuando sus elementos sean modificables)

Argumentos modificables y no modificables

Un argumento modificable es aquel que tiene un elemento subyacente que se puede modificar. El código de llamada puede almacenar un nuevo valor en cualquier momento y, si se transfiere 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 o tiene un elemento subyacente no modificable o se ha transferido ByVal. El procedimiento no puede modificar el elemento subyacente en el código de llamada, aun cuando se trate de un elemento modificable. Si es un elemento no modificable, tampoco podrá modificarlo el propio código de llamada.

El procedimiento invocado podría modificar la copia local del argumento no modificable, pero esta modificación no afectaría al elemento subyacente del código de llamada.

Vea también

Tareas

Cómo: Pasar argumentos a un procedimiento

Cómo: Cambiar el valor de un argumento de procedimiento

Cómo: Proteger un argumento de procedimiento para que no se realicen cambios de valor

Cómo: Forzar un argumento para que pase como un valor

Conceptos

Procedimientos en Visual Basic

Argumentos y parámetros de procedimiento

Pasar argumentos por valor y por referencia

Diferencias entre pasar un argumento por valor y por referencia

Pasar argumentos por posición o por nombre

Tipos de valores y tipos de referencia