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
- Procedimientos
- Argumentos y parámetros de procedimiento
- Procedimiento para pasar argumentos a un procedimiento
- Pasar argumentos por valor y por referencia
- Diferencias entre pasar un argumento por valor y por referencia
- Procedimiento para cambiar el valor de un argumento de procedimiento
- Procedimiento para proteger un argumento de procedimiento para que no se realicen cambios de valor
- Procedimiento para forzar un argumento para que pase como un valor
- Paso de argumentos por posición o por nombre
- Value Types and Reference Types