Compartir a través de


Get (instrucción)

Declara un Get procedimiento de propiedad utilizado 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 en como máximo una de las instrucciones Get y Set de esta propiedad. Puede ser uno de los siguientes:

- Protegido
- Amigo
- Privado
- Protected Friend

Consulte Niveles de acceso en Visual Basic.
statements Opcional. Una o varias instrucciones que se ejecutan cuando se llama al Get procedimiento de propiedad.
End Get Obligatorio. Finaliza la definición del Get procedimiento de propiedad.

Observaciones

Cada propiedad debe tener un Get procedimiento de propiedad a menos que la propiedad esté marcada como WriteOnly. El Get procedimiento se usa para devolver el valor actual de la propiedad .

Visual Basic llama automáticamente al procedimiento de Get 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 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 Get procedimiento dentro de la propiedad a la que se aplica.

El Get procedimiento tiene como valor predeterminado el nivel de acceso de su propiedad contenedora a menos que se use accessmodifier en la Get 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 Get procedimiento o Set , 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 declara Friend, puede declarar el Get procedimiento Private, pero no Public.

    Si va a definir una ReadOnly propiedad, el Get procedimiento representa toda la propiedad. No se puede declarar un nivel de acceso diferente para Get, 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 Get procedimiento 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 Property instrucción no especifica returntype, el procedimiento devuelve Object.

Comportamiento

  • Devolver de un procedimiento. Cuando el Get procedimiento vuelve al código que realiza la llamada, la ejecución continúa dentro de la instrucción que solicitó el valor de la propiedad.

    Get los procedimientos de propiedad pueden devolver un valor mediante la instrucción Return o asignando el valor devuelto al nombre de la propiedad. Para obtener más información, vea "Valor devuelto" en la instrucción function.

    Las Exit Property instrucciones y Return provocan una salida inmediata de un procedimiento de propiedad. Cualquier número de Exit Property instrucciones y Return puede aparecer en cualquier parte del procedimiento y puede mezclar Exit Property instrucciones y Return .

  • Valor devuelto. Para devolver un valor de un Get procedimiento, puede asignar el valor al nombre de la propiedad o incluirlo en una instrucción Return. La Return instrucción asigna simultáneamente el valor devuelto del Get procedimiento y sale del procedimiento.

    Si usa Exit Property sin asignar un valor al nombre de propiedad, el Get procedimiento devuelve el valor predeterminado para el tipo de datos de la propiedad. Para obtener más información, vea "Valor devuelto" en la instrucción function.

    En el ejemplo siguiente se muestran dos formas en que la propiedad quoteForTheDay de solo lectura puede devolver el valor mantenido en la variable quoteValueprivada .

    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 Get instrucción 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

Consulte también