다음을 통해 공유


방법: 속성 만들기(Visual Basic)

Property 문과 End Property 문 사이에 속성 정의를 묶습니다. 이 정의 내에서 Get 프로시저, Set 프로시저 또는 둘 다를 정의합니다. 모든 속성의 코드는 이러한 프로시저 내에 있습니다.

Get 프로시저는 속성의 값을 검색하고 Set 프로시저는 값을 저장합니다. 속성에 읽기/쓰기 액세스 권한을 부여하려면 두 프로시저를 모두 정의해야 합니다. 읽기 전용 속성의 경우 Get만 정의하고 쓰기 전용 속성의 경우 Set만 정의합니다.

속성을 만들려면

  1. 속성 또는 프로시저 외부에서는 Property 문을 사용하고 그 다음에는 End Property 문을 사용합니다.

  2. 속성이 매개 변수를 사용하는 경우 프로시저 이름이 Property 키워드 뒤에 프로시저 이름이 오고 괄호 안에 매개 변수 목록이 표시됩니다.

  3. As 절이 있는 괄호 뒤에 와서 속성 값의 데이터 형식을 지정합니다. 쓰기 전용 속성에도 데이터 형식을 지정해야 합니다.

  4. GetSet 프로시저를 적절하게 추가합니다. 다음 지침을 참조하세요.

속성 값을 검색하는 Get 프로시저를 만들려면

  1. Property 문과 End Property 문 사이에 Get 문을 작성하고 그 다음에 End Get 문을 작성합니다. Get 프로시저에 대한 매개 변수를 정의할 필요가 없습니다.

  2. 코드 문을 배치하여 Get 문과 End Get 문 간에 속성 값을 검색합니다. 이 코드에는 속성 값을 생성하고 반환하는 것 외에도 다른 계산 및 데이터 조작이 포함될 수 있습니다.

  3. Return 문을 사용하여 속성 값을 호출 코드로 반환합니다.

읽기-쓰기 속성 및 읽기 전용 속성에 대한 Get 프로시저를 작성해야 합니다. 쓰기 전용 속성에 대한 Get 프로시저를 정의해서는 안 됩니다.

속성의 값을 쓰는 Set 프로시저를 만들려면

  1. Property 문과 End Property 문 사이에 Set 문을 작성하고 그 다음에 End Set 문을 작성합니다.

  2. Set 문에서 선택적으로 Set 키워드 뒤에 괄호 안에 매개 변수 목록이 옵니다. 매개 변수 목록이 없거나 비어 있으면 Value라는 암시적 매개 변수가 정의되며 해당 형식은 속성 자체의 형식입니다. 매개 변수 목록이 비어 있지 않으면 적절한 경우 다른 이름을 사용할 수 있지만 매개 변수의 데이터 형식은 속성 자체와 동일해야 합니다.

  3. 코드 문을 배치하여 Set 문과 End Set 문 사이의 속성에 값을 저장합니다. 이 코드에는 속성 값의 유효성 검사 및 저장 외에도 다른 계산 및 데이터 조작이 포함될 수 있습니다.

  4. 값 매개 변수를 사용하여 호출 코드에서 제공하는 값을 수락합니다. 대입문에 이 값을 직접 저장하거나 식에 사용하여 저장할 내부 값을 계산할 수 있습니다.

읽기-쓰기 속성 및 읽기 전용 속성에 대한 Set 프로시저를 작성해야 합니다. 읽기 전용 속성에 대한 Set 프로시저를 정의해서는 안 됩니다.

예시

다음 예제에서는 이름 및 성의 두 구성 이름으로 전체 이름을 저장하는 읽기/쓰기 속성을 만듭니다. 호출 코드가 fullName을 읽으면 Get 프로시저가 두 구성 요소 이름을 결합하고 전체 이름을 반환합니다. 호출 코드가 새 전체 이름을 할당하면 Set 프로시저는 이를 두 개의 구성 이름으로 분리하려고 시도합니다. 공백을 찾지 못하면 모두 이름으로 저장합니다.

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

다음 예제에서는 fullName의 속성 프로시저에 대한 일반적인 호출을 보여 줍니다. 첫 번째 호출은 속성 값을 설정하고 두 번째 호출은 속성 값을 검색합니다.

fullName = "MyFirstName MyLastName"
MsgBox(fullName)

참고 항목