Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Declara un Set procedimiento de propiedad usado para asignar un valor a una propiedad.
Sintaxis
[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]
[ statements ]
End Set
Partes
attributelist
Opcional. Consulte Lista de atributos.
accessmodifier
Opcional en como máximo una de las instrucciones Get y Set de esta propiedad. Puede ser uno de los siguientes:
Consulte Niveles de acceso en Visual Basic.
value
Opcional. Parámetro que contiene el nuevo valor de la propiedad . Si no se proporciona (es decir, si la lista de parámetros no está presente o está vacía), se define un parámetro implícito denominado value . El tipo de datos de este parámetro implícito es el tipo de datos de la propiedad donde se declara esta Set instrucción.
datatype
Obligatorio si value está presente y Option Strict es On. No se puede presentar si value no se da. Tipo de datos del value parámetro. El tipo de datos especificado debe ser el mismo que el tipo de datos de la propiedad donde se declara esta Set instrucción.
statements
Opcional. Una o varias instrucciones que se ejecutan cuando se llama al Set procedimiento de propiedad.
End Set
Obligatorio. Finaliza la definición del Set procedimiento de propiedad.
Observaciones
Cada propiedad debe tener un Set procedimiento de propiedad a menos que la propiedad esté marcada como ReadOnly. El Set procedimiento se usa para establecer el valor de la propiedad .
Visual Basic llama automáticamente al procedimiento de Set una propiedad cuando una instrucción de asignación proporciona un valor que se va a almacenar en la propiedad .
Visual Basic pasa un parámetro al Set procedimiento durante las asignaciones de propiedades. Si no proporciona un parámetro para Set, el entorno de desarrollo integrado (IDE) usa un parámetro implícito denominado value. El parámetro contiene el valor que se va a asignar a la propiedad . Normalmente, este valor se almacena en una variable local privada y se devuelve cada vez que se llama al Get procedimiento.
El cuerpo de la declaración de propiedad solo puede contener los procedimientos y Set de Get la propiedad entre la instrucción Property y la End Property instrucción . No puede almacenar nada más que esos procedimientos. En concreto, no puede almacenar el valor actual de la propiedad. Debe almacenar este valor fuera de la propiedad, ya que si lo almacena dentro de cualquiera de los procedimientos de propiedad, el otro procedimiento de propiedad no puede acceder a él. El enfoque habitual es almacenar el valor en una variable privada declarada en el mismo nivel que la propiedad . Debe definir un Set procedimiento dentro de la propiedad a la que se aplica.
El Set procedimiento tiene como valor predeterminado el nivel de acceso de su propiedad contenedora a menos que se use accessmodifier en la Set instrucción .
Reglas
Niveles de acceso mixto. Si va a definir una propiedad de lectura y escritura, puede especificar opcionalmente un nivel de acceso diferente para el
Getprocedimiento oSet, pero no ambos. Si lo hace, el nivel de acceso del procedimiento debe ser más restrictivo que el nivel de acceso de la propiedad. Por ejemplo, si la propiedad se declaraFriend, puede declarar elSetprocedimientoPrivate, pero noPublic.Si va a definir una
WriteOnlypropiedad, elSetprocedimiento representa toda la propiedad. No se puede declarar un nivel de acceso diferente paraSet, porque eso establecería dos niveles de acceso para la propiedad .
Comportamiento
Devolver desde un procedimiento de propiedad. Cuando el
Setprocedimiento vuelve al código que realiza la llamada, la ejecución continúa siguiendo la instrucción que proporcionó el valor que se va a almacenar.Setlos procedimientos de propiedad pueden devolverse mediante la instrucción Return o la instrucción Exit.Las
Exit Propertyinstrucciones yReturnprovocan una salida inmediata de un procedimiento de propiedad. Cualquier número deExit Propertyinstrucciones yReturnpuede aparecer en cualquier parte del procedimiento y puede mezclarExit Propertyinstrucciones yReturn.
Ejemplo
En el ejemplo siguiente se usa la Set instrucción para establecer el valor de una propiedad .
Class propClass
Private propVal As Integer
Property Prop1() As Integer
Get
Return propVal
End Get
Set(ByVal value As Integer)
propVal = value
End Set
End Property
End Class