Get (Instrucción)
Declara un procedimiento de propiedad Get
que se usa para recuperar el valor de una propiedad.
Sintaxis
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
Partes
Término | Definición |
---|---|
attributelist |
Opcional. Consulte Lista de atributos. |
accessmodifier |
Opcional como máximo en una de las instrucciones Get y Set de esta propiedad. Puede ser uno de los siguientes:- Protected - Friend - Privado - Protected Friend Vea Access levels in Visual Basic. |
statements |
Opcional. Una o varias instrucciones que se ejecutan cuando se llama al procedimiento de propiedad Get . |
End Get |
Necesario. Finaliza la definición del procedimiento de propiedad Get . |
Comentarios
Cada propiedad debe tener un procedimiento de propiedad Get
, a menos que la propiedad esté marcada como WriteOnly
. El procedimiento Get
se usa para devolver el valor actual de la propiedad.
Visual Basic llama automáticamente al procedimiento Get
de una propiedad cuando una expresión solicita el valor de la propiedad.
El cuerpo de la declaración de propiedad solo puede contener los procedimientos Get
y Set
de la propiedad entre la instrucción Property y la instrucción End Property
. 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 porque, si lo almacena dentro de cualquiera de los procedimientos de propiedad, el otro procedimiento de propiedad no podrá acceder a él. El enfoque habitual consiste en almacenar el valor en una variable Private declarada en el mismo nivel que la propiedad. Debe definir un procedimiento Get
dentro de la propiedad a la que se aplica.
El procedimiento Get
tiene como valor predeterminado el nivel de acceso de su propiedad contenedora, a menos que se use accessmodifier
en la instrucción Get
.
Reglas
Niveles de acceso mixtos. Si va a definir una propiedad de lectura y escritura, puede especificar opcionalmente un nivel de acceso diferente para el procedimiento
Get
oSet
, pero no ambos. Si lo hace, el nivel de acceso del procedimiento debe ser más restrictivo que el de la propiedad. Por ejemplo, si la propiedad se declara comoFriend
, puede declarar el procedimientoGet
comoPrivate
, pero noPublic
.Si va a definir una propiedad
ReadOnly
, el procedimientoGet
representa toda la propiedad. No se puede declarar un nivel de acceso diferente paraGet
, porque eso establecería dos niveles de acceso para la propiedad.Tipo de valor devuelto. La instrucción Property puede declarar el tipo de datos del valor que devuelve. El procedimiento
Get
devuelve automáticamente ese tipo de datos. Puede especificar cualquier tipo de datos o el nombre de una enumeración, estructura, clase o interfaz.Si la instrucción
Property
no especificareturntype
, el procedimiento devuelveObject
.
Comportamiento
Devolución desde un procedimiento. Cuando el procedimiento
Get
vuelve al código de llamada, la ejecución continúa dentro de la instrucción que solicitó el valor de propiedad.Los procedimientos de propiedad
Get
pueden devolver un valor mediante la instrucción Return o mediante la asignación del valor devuelto al nombre de propiedad. Para obtener más información, consulte "Valor devuelto" en Instrucción Function.Las instrucciones
Exit Property
yReturn
provocan una salida inmediata de un procedimiento de propiedad. Puede aparecer cualquier número de instruccionesExit Property
yReturn
en cualquier parte del procedimiento, y se pueden mezclar instruccionesExit Property
yReturn
.Valor devuelto. Para devolver un valor a partir de un procedimiento
Get
, puede asignar el valor al nombre de propiedad o incluirlo en una instrucción Return. La instrucciónReturn
asigna el valor devuelto del procedimientoGet
y sale del procedimiento simultáneamente.Si usa
Exit Property
sin asignar un valor al nombre de propiedad, el procedimientoGet
devuelve el valor predeterminado para el tipo de datos de la propiedad. Para obtener más información, consulte "Valor devuelto" en Instrucción Function.En el ejemplo siguiente se muestran dos formas en que la propiedad
quoteForTheDay
de solo lectura puede devolver el valor contenido en la variable privadaquoteValue
.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End Property
ReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
Ejemplo
En el ejemplo siguiente se usa la instrucción Get
para devolver el valor de una propiedad.
Class propClass
' Define a private local variable to store the property value.
Private currentTime As String
' Define the read-only property.
Public ReadOnly Property DateAndTime() As String
Get
' The Get procedure is called automatically when the
' value of the property is retrieved.
currentTime = CStr(Now)
' Return the date and time As a string.
Return currentTime
End Get
End Property
End Class