Get 문
속성 값을 검색하는 데 사용하는 Get 속성 프로시저를 선언합니다.
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
구성 요소
용어 |
내용 |
attributelist |
선택적 요소로서, 특성 목록을 참조하십시오. |
accessmodifier |
선택적 요소이며 이 속성의 Get 및 Set 문 중 하나에서만 사용할 수 있습니다. 다음 중 하나일 수 있습니다. Visual Basic의 액세스 수준를 참조하십시오. |
statements |
선택적 요소로서, Get 속성 프로시저를 호출할 때 실행되는 하나 이상의 문입니다. |
End Get |
필수적 요소로서, Get 속성 프로시저의 정의를 종료합니다. |
설명
속성이 WriteOnly로 표시되지 않는 경우 모든 속성에 Get 속성 프로시저가 있어야 합니다. Get 프로시저는 현재 속성 값을 반환하는 데 사용됩니다.
Visual Basic에서는 식에서 속성 값을 요청할 때 자동으로 속성의 Get 프로시저를 호출합니다.
속성 선언 본문의 Property 문과 End Property 문 사이에 속성의 Get 및 Set 프로시저만 포함할 수 있습니다. 이러한 프로시저 외에는 아무 것도 저장할 수 없습니다. 특히 속성의 현재 값은 저장할 수 없습니다. 이 값을 속성 프로시저 중 하나의 내부에 저장하면 다른 속성 프로시저가 이 값에 액세스할 수 없으므로 이 값을 속성 외부에 저장해야 합니다. 일반적으로 속성과 동일한 수준에서 선언된 Private(Visual Basic) 변수에 값을 저장합니다. Get 프로시저가 적용될 속성 내부에 해당 프로시저를 정의해야 합니다.
Get 문에서 accessmodifier를 사용하지 않는 경우 Get 프로시저의 기본값은 포함하는 속성의 액세스 수준이 됩니다.
규칙
혼합 액세스 수준. 읽기/쓰기 속성을 정의하는 경우 Get 또는 Set 프로시저 중 하나에 다른 액세스 수준을 지정할 수 있지만 두 프로시저 모두에 다른 액세스 수준을 지정할 수는 없습니다. 이렇게 하려면 프로시저 액세스 수준이 속성의 액세스 수준보다 제한적이어야 합니다. 예를 들어, 속성이 Friend로 선언된 경우 Get 프로시저를 Private으로 선언할 수 있지만 Public으로 선언할 수는 없습니다.
ReadOnly 속성을 선언하는 경우 Get 프로시저는 전체 속성을 나타냅니다. Get에 대한 다른 액세스 수준을 선언하면 해당 속성에 대해 두 개의 액세스 수준이 설정되므로 다른 액세스 수준을 선언할 수 없습니다.
반환 형식. Property 문은 반환하는 값의 데이터 형식을 선언할 수 있습니다. Get 프로시저는 데이터 형식을 자동으로 반환합니다. 열거형, 구조체, 클래스 또는 인터페이스의 이름 또는 모든 데이터 형식을 지정할 수 있습니다.
Property 문이 returntype을 지정하지 않는 경우 프로시저는 Object를 반환합니다.
동작
프로시저에서 반환. Get 프로시저가 호출 코드로 반환되면 속성 값을 요청한 문 내에서 실행이 계속됩니다.
Get 속성 프로시저는 Return 문(Visual Basic)을 사용하거나 속성 이름에 반환 값을 할당하여 값을 반환할 수 있습니다. 자세한 내용은 Function 문(Visual Basic)의 "반환 값"을 참조하십시오.
Exit Property와 Return 문은 속성 프로시저를 바로 끝냅니다. 프로시저 내의 임의의 위치에 여러 개의 Exit Property 및 Return 문을 사용할 수 있으며 Exit Property 문과 Return 문을 혼합하여 사용할 수 있습니다.
반환 값. Get 프로시저에서 값을 반환하려면 속성 이름에 값을 할당하거나 Return 문(Visual Basic)에 값을 포함합니다. Return 문은 동시에 Get 프로시저 반환 값을 할당하고 프로시저를 끝냅니다.
속성 이름에 값을 할당하지 않고 Exit Property를 사용하는 경우 Get 프로시저는 속성의 데이터 형식에 대해 기본값을 반환합니다. 자세한 내용은 Function 문(Visual Basic)의 "반환 값"을 참조하십시오.
다음 예제에서는 읽기 전용 속성 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