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