Property Set (Instrucción)

Visual Basic VBLR

Property Set (Instrucción)

       

Declara el nombre, los argumentos, y el código que componen el cuerpo de un procedimiento Property, el cual asigna una referencia a un objeto.

Sintaxis

[Public | Private | Friend] [Static] Property Set nombre ([lista_argumentos,] referencia)
[instrucciones]
[Exit Property]
[instrucciones]

End Property

La sintaxis de la instrucción Property Set consta de las siguientes partes:

Parte Descripción
Optional Opcional. Indica que el argumento lo puede proporcionar el llamador o no.
Public Opcional. Indica que el procedimiento Property Set es accesible para todos los demás procedimientos de todos los módulos. Si se usa en un módulo que contiene la instrucción Option Private, el procedimiento no está disponible fuera del proyecto.
Private Opcional. Indica que el procedimiento Property Set es accesible sólo para otros procedimientos del módulo donde se declara.
Friend Opcional. Se utiliza sólo en un módulo de clase. Indica que el procedimiento Property Set es visible a través del proyecto, pero no por un controlador de una instancia de un objeto.
Static Opcional. Indica que las variables locales del procedimiento Property Set se conservan entre distintas llamadas. El atributo Static no afecta a las variables que se declaran fuera del procedimiento Property, incluso aunque se usen en el procedimiento.
nombre Requerido. Nombre del procedimiento Property Set; sigue las convenciones estándar de nombres de variables, excepto en que el nombre puede ser el mismo que el de los procedimientos Property Get o Property Let del mismo módulo.
lista_
argumentos
Requerido. Lista de variables que representan argumentos que se pasan al procedimiento Property Set cuando se le llama. Los distintos argumentos se separan mediante comas.
referencia Requerido. Variable que contiene la referencia de objeto utilizada en la parte derecha de la asignación de referencia de objeto.
instrucciones Opcional. Cualquier grupo de instrucciones que se ejecutan dentro del cuerpo del procedimiento Property.

El argumento lista_argumentos consta de las siguientes partes y sintaxis:

[Optional] [ByVal | ByRef] [ParamArray] nombre_variable[( )] [As tipo] [= valor_predeterminado]

Parte Descripción
Optional Opcional. Indica que no se necesita un argumento. Si se utiliza, todos los argumentos subsiguientes de lista_argumentos también deben ser opcionales y se deben declarar mediante la palabra clave Optional. Observe que la parte derecha de una expresión Property Set no puede ser Optional.
ByVal Opcional. Indica que el argumento se pasa por valor.
ByRef Opcional. Indica que el argumento se pasa por referencia. ByRef es el modo predeterminado en Visual Basic.
ParamArray Opcional. Sólo se utiliza como el último argumento en lista_argumentos para indicar que el argumento final es una matriz Optional de elementos tipo Variant. La palabra clave ParamArray le permite proporcionar un número arbitrario de argumentos. No se puede utilizar con ByVal, ByRef u Optional.
nombre_
variable
Requerido. Nombre de la variable que representa el argumento; sigue las convenciones estándar de nombres de variables.
tipo Opcional. Tipo de datos del argumento que pasa al procedimiento; puede serByte, Boolean, Integer, Long, Currency, Single, Double, Decimal (no admitida actualmente), Date, String (solamente longitud variable), Object, Variant, o un tipo de objeto específico. Si el parámetro no es Optional, se puede especificar también un tipo definido por el usuario.
valor_
predeterminado
Opcional. Cualquier constante o expresión de constante. Sólo es válido para parámetros Optional. Si el tipo es Object, un valor predeterminado explícito sólo puede ser Nothing.

Nota   Cualquier instrucción Property Set debe definir por lo menos un argumento para el procedimiento que define. Ese argumento (o el último argumento si hay más de uno) contendrá la referencia del objeto real para la propiedad cuando se invoque el procedimiento definido por la instrucción Property Set. Se le denomina referencia en la sintaxis anterior. No puede ser Optional.

Comentarios

Si no se especifican explícitamente mediante Public, Private o Friend, los procedimientos Property serán públicos de manera predeterminada. Si no se usa Static, el valor de las variables locales no se conserva entre distintas llamadas. La palabra clave Friend solamente se puede usar en módulos de clase. Sin embargo, los procedimientos en cualquier módulo de un proyecto pueden acceder a los procedimientos Friend. Un procedimiento Friend no aparece en la biblioteca de tipo de su clase primaria, ni se puede enlazar posteriormente.

Todo código ejecutable debe estar en procedimientos. No puede definir un procedimiento Property Set dentro de otro procedimiento Property, Sub o Function.

La instrucción Exit Property causa la inmediata salida de un procedimiento Property Set. La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Set. Cualquier número de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Set.

Al igual que un procedimiento Function y Property Get, Property Set es un procedimiento distinto que puede tomar argumentos, llevar a cabo una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function y Property Get, los cuales devuelven un valor, un procedimiento Property Set sólo se puede usar en el lado izquierdo de una asignación de referencia de objeto (instrucción Set).