Cómo: Crear una propiedad (Visual Basic)
Debe incluir una definición de propiedad entre una instrucción Property
y una instrucción End Property
. Dentro de esta definición, puede definir un procedimiento Get
, un procedimiento Set
o ambos. Todo el código de la propiedad se encuentra dentro de estos procedimientos.
El procedimiento Get
recupera el valor de la propiedad y el procedimiento Set
almacena un valor. Si desea que la propiedad tenga acceso de lectura y escritura, debe definir ambos procedimientos. Para una propiedad de solo lectura, solo se define Get
y para una de solo escritura, solo se define Set
.
Creación de una propiedad
Fuera de cualquier propiedad o procedimiento, use una instrucción Property, seguida de una instrucción
End Property
.Si la propiedad toma parámetros, el nombre del procedimiento debe ir a continuación de la palabra clave
Property
y, a continuación, la lista de parámetros entre paréntesis.Después de los paréntesis incluya una cláusula
As
para especificar el tipo de datos del valor de la propiedad. Debe especificar el tipo de datos incluso para una propiedad de solo escritura.Agregue los procedimientos
Get
ySet
según corresponda. Consulte las instrucciones siguientes.
Para crear un procedimiento Get que recupere un valor de propiedad
Entre las instrucciones
Property
yEnd Property
, escriba una instrucción Get, seguida de una instrucciónEnd Get
. No es necesario definir ningún parámetro para el procedimientoGet
.Coloque las instrucciones de código para recuperar el valor de la propiedad entre las instrucciones
Get
yEnd Get
. Este código puede incluir otros cálculos y manipulaciones de datos además de generar y devolver el valor de la propiedad.Use una instrucción
Return
para devolver el valor de la propiedad al código de llamada.
Debe escribir un procedimiento Get
para una propiedad de lectura y escritura, y para una propiedad de solo lectura. No debe definir un procedimiento Get
para una propiedad de solo escritura.
Para crear un procedimiento Set que escriba el valor de una propiedad
Entre las instrucciones
Property
yEnd Property
, escriba una instrucción Set, seguida de una instrucciónEnd Set
.En la instrucción
Set
, tiene la opción de incluir una lista de parámetros entre paréntesis después de la palabra claveSet
. Si la lista de parámetros no está presente o está vacía, se define un parámetro implícito denominadoValue
, cuyo tipo es el de la propia propiedad. Si la lista de parámetros no está vacía, puede usar otro nombre si procede, pero el parámetro debe tener el mismo tipo de datos que la propiedad en sí.Coloque las instrucciones de código para almacenar un valor en la propiedad entre las instrucciones
Set
yEnd Set
. Este código puede incluir otros cálculos y manipulaciones de datos además de validar y almacenar el valor de la propiedad.Use el parámetro value para aceptar el valor proporcionado por el código de llamada. Puede almacenar este valor directamente en una instrucción de asignación o usarlo en una expresión para calcular el valor interno que se va a almacenar.
Debe escribir un procedimiento Set
para una propiedad de lectura y escritura, y para una propiedad de solo escritura. No debe definir un procedimiento Set
para una propiedad de solo lectura.
Ejemplo
En el ejemplo siguiente se crea una propiedad de lectura y escritura que almacena un nombre completo como dos nombres constituyentes, el nombre y el apellido. Cuando el código de llamada lee fullName
, el procedimiento Get
combina los dos nombres constituyentes y devuelve el nombre completo. Cuando el código de llamada asigna un nuevo nombre completo, el procedimiento Set
intenta dividirlo en dos nombres constituyentes. Si no encuentra un espacio, lo almacena todo como nombre.
Dim firstName, lastName As String
Property fullName() As String
Get
If lastName = "" Then
Return firstName
Else
Return firstName & " " & lastName
End If
End Get
Set(ByVal Value As String)
Dim space As Integer = Value.IndexOf(" ")
If space < 0 Then
firstName = Value
lastName = ""
Else
firstName = Value.Substring(0, space)
lastName = Value.Substring(space + 1)
End If
End Set
End Property
En el ejemplo siguiente se muestran llamadas típicas a los procedimientos de propiedad de fullName
. La primera llamada establece el valor de propiedad y la segunda llamada la recupera.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Consulte también
- Procedimientos
- Procedimientos de propiedad
- Argumentos y parámetros de procedimiento
- Diferencias entre propiedades y variables en Visual Basic
- Procedimiento para declarar una propiedad con niveles de acceso mixtos
- Procedimiento para llamar a un procedimiento de propiedad
- Cómo: Declarar y llamar a una propiedad predeterminada en Visual Basic
- Procedimiento para establecer un valor en una propiedad
- Procedimiento para obtener un valor de una propiedad