다음을 통해 공유


방법: 속성 만들기(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. 코드 문을 GetEnd Get 사이에 배치하여 속성의 값을 가져옵니다. 이 코드에는 속성 값을 생성하고 반환하는 것 외에도 다른 계산 및 데이터 조작이 포함될 수 있습니다.

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

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

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

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

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

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

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

읽기-쓰기 속성 및 쓰기 전용 속성에 대한 프로시저를 작성 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)

참고하십시오