Share via


Diferencias entre argumentos modificables y no modificables (Visual Basic)

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 (Visual Basic), 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 (Visual Basic). 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 (Visual Basic)

Cómo: Cambiar el valor de un argumento de procedimiento (Visual Basic)

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

Cómo: Forzar un argumento para que pase como un valor (Visual Basic)

Conceptos

Procedimientos en Visual Basic

Argumentos y parámetros de procedimiento (Visual Basic)

Pasar argumentos por valor y por referencia (Visual Basic)

Diferencias entre pasar un argumento por valor y por referencia (Visual Basic)

Pasar argumentos por posición o por nombre (Visual Basic)

Otros recursos

Implementación de tipos de datos (Visual Basic)