Get 문

속성 값을 검색하는 데 사용되는 Get 속성 프로시저를 선언합니다.

구문

[ <attributelist> ] [ accessmodifier ] Get()  
    [ statements ]  
End Get  

부분

용어 정의
attributelist 선택 사항. 특성 목록을 참조하세요.
accessmodifier 이 속성의 GetSet 문 중 최대 하나에 대한 선택 사항입니다. 다음 중 하나일 수 있습니다.

- Protected
- Friend
- 프라이빗
- Protected Friend

Access levels in Visual Basic을 참조하세요.
statements 선택 사항. Get 속성 프로시저가 호출될 때 실행되는 하나 이상의 문입니다.
End Get 필수입니다. Get 속성 프로시저의 정의를 종료합니다.

설명

속성이 WriteOnly로 표시되지 않는 한 모든 속성에는 Get 속성 프로시저가 있어야 합니다. Get 프로시저는 속성의 현재 값을 반환하는 데 사용됩니다.

Visual Basic은 식이 속성 값을 요청할 때 속성의 Get 프로시저를 자동으로 호출합니다.

속성 선언 본문에는 Property 문End Property 문 사이에 속성의 GetSet 프로시저만 포함될 수 있습니다. 해당 프로시저 외에는 아무것도 저장할 수 없습니다. 특히 속성의 현재 값을 저장할 수 없습니다. 이 값을 속성 프로시저 중 하나 내부에 저장하면 다른 속성 프로시저에서 이 값에 액세스할 수 없기 때문에 이 값을 속성 외부에 저장해야 합니다. 일반적인 방식은 속성과 동일한 수준에서 선언된 Private 변수에 값을 저장하는 것입니다. 적용되는 속성 내부에 Get 프로시저를 정의해야 합니다.

Get 문에서 accessmodifier를 사용하지 않는 한 Get 프로시저의 기본값은 포함 속성의 액세스 수준입니다.

규칙

  • 혼합된 액세스 수준. 읽기-쓰기 속성을 정의하는 경우 선택적으로 Get 또는 Set 프로시저에 대해 서로 다른 액세스 수준을 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이렇게 하면 프로시저 액세스 수준이 속성의 액세스 수준보다 더 제한적이어야 합니다. 예를 들어, 속성이 Friend로 선언된 경우 Get 프로시저 Private은 선언할 수 있지만 Public은 선언할 수 없습니다.

    ReadOnly 속성을 정의하는 경우 Get 프로시저는 전체 속성을 나타냅니다. Get에 대해 다른 액세스 수준을 선언할 수 없습니다. 그렇게 하면 해당 속성에 대해 두 가지 액세스 수준이 설정되기 때문입니다.

  • 반환 형식. 속성 문은 반환하는 값의 데이터 형식을 선언할 수 있습니다. Get 프로시저는 해당 데이터 형식을 자동으로 반환합니다. 모든 데이터 형식이나 열거형, 구조체, 클래스 또는 인터페이스의 이름을 지정할 수 있습니다.

    Property 문이 returntype을 지정하지 않으면 프로시저는 Object를 반환합니다.

동작

  • 프로시저에서 반환. Get 프로시저가 호출 코드로 반환되면 속성 값을 요청한 문 내에서 실행이 계속됩니다.

    Get 속성 프로시저는 Return 문을 사용하거나 반환 값을 속성 이름에 할당하여 값을 반환할 수 있습니다. 자세한 내용은 Function 문의 "반환 값"을 참조하세요.

    Exit PropertyReturn 문은 속성 프로시저를 즉시 종료합니다. Exit PropertyReturn 문은 프로시저의 어느 위치에나 나타날 수 있으며, Exit PropertyReturn 문을 혼합할 수 있습니다.

  • 반환 값. Get 프로시저에서 값을 반환하려면 속성 이름에 값을 할당하거나 Return 문에 포함하면 됩니다. Return 문은 동시에 Get 프로시저 반환 값을 할당하고 프로시저를 종료합니다.

    속성 이름에 값을 할당하지 않고 Exit Property를 사용하는 경우 Get 프로시저는 속성의 데이터 형식에 대한 기본값을 반환합니다. 자세한 내용은 Function 문의 "반환 값"을 참조하세요.

    다음 예에서는 읽기 전용 속성 quoteForTheDay가 프라이빗 변수 quoteValue에 저장된 값을 반환할 수 있는 두 가지 방법을 보여 줍니다.

    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
    

예시

다음 예에서는 Get 문을 사용하여 속성 값을 반환합니다.

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

참고 항목