Property 문
속성 이름과 속성 값을 저장하고 검색하는 데 사용되는 속성 프로시저를 선언합니다.
구문
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] [ Iterator ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
[ <attributelist> ] [ accessmodifier ] Get
[ statements ]
End Get
[ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
[ statements ]
End Set
End Property
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
부분
attributelist
선택 사항. 이 속성이나
Get
또는Set
프로시저에 적용되는 특성 목록입니다. 특성 목록을 참조하세요.Default
선택 사항. 이 속성이 해당 속성이 정의된 클래스 또는 구조체의 기본 속성임을 지정합니다. 기본 속성은 매개 변수를 허용해야 하며 속성 이름을 지정하지 않고도 설정하고 검색할 수 있습니다. 속성을
Default
로 선언하면 속성이나 해당 속성 프로시저에서Private
을 사용할 수 없습니다.accessmodifier
Property
문과Get
및Set
문 중 최대 하나에서는 선택 사항입니다. 다음 중 하나일 수 있습니다.Access levels in Visual Basic을 참조하세요.
propertymodifiers
선택 사항. 다음 중 하나일 수 있습니다.
MustOverride Overrides
NotOverridable Overrides
Shared
선택 사항. 공유를 참조하세요.
Shadows
선택 사항. Shadows를 참조하세요.
ReadOnly
선택 사항. ReadOnly를 참조하세요.
WriteOnly
선택 사항. 쓰기 전용을 참조하세요.
Iterator
선택 사항. 반복기를 참조하세요.
name
필수입니다. 속성의 이름입니다. Declared Element Names을 참조하세요.
parameterlist
선택 사항. 이 속성의 매개 변수와
Set
프로시저의 가능한 추가 매개 변수를 나타내는 지역 변수 이름 목록입니다. 매개 변수 목록을 참조하세요.returntype
Option Strict
가On
인 경우 필수입니다. 이 속성에서 반환된 값의 데이터 형식입니다.Implements
선택 사항. 이 속성이 하나 이상의 속성을 구현함을 나타냅니다. 각 속성은 이 속성을 포함하는 클래스 또는 구조체에 의해 구현된 인터페이스에 정의됩니다. Implements 문을 참조하세요.
implementslist
Implements
가 제공된 경우 필수입니다. 구현 중인 속성 목록입니다.implementedproperty [ , implementedproperty ... ]
각
implementedproperty
에는 다음과 같은 구문과 요소가 있습니다.interface.definedname
요소 설명 interface
필수입니다. 이 속성을 포함하는 클래스 또는 구조체에 의해 구현된 인터페이스의 이름입니다. definedname
필수입니다. interface
에 속성이 정의된 이름입니다.Get
선택 사항. 속성이
ReadOnly
로 표시된 경우 필수입니다. 속성 값을 반환하는 데 사용되는Get
속성 프로시저를 시작합니다. 이Get
문은 자동으로 구현된 속성과 함께 사용되지 않습니다.statements
선택 사항.
Get
또는Set
프로시저 내에서 실행할 문 블록입니다.End Get
Get
속성 프로시저를 종료합니다.Set
선택 사항. 속성이
WriteOnly
로 표시된 경우 필수입니다. 속성 값을 저장하는 데 사용되는Set
속성 프로시저를 시작합니다. 이Set
문은 자동으로 구현된 속성과 함께 사용되지 않습니다.End Set
Set
속성 프로시저를 종료합니다.End Property
이 속성의 정의를 종료합니다.
설명
Property
문은 속성 선언을 소개합니다. 속성에는 Get
프로시저(읽기 전용), Set
프로시저(쓰기 전용) 또는 둘 다(읽기-쓰기)가 있을 수 있습니다. 자동으로 구현된 속성을 사용할 때 및 Set
프로시저를 생략 Get
할 수 있습니다. 자세한 내용은 자동으로 구현된 속성을 참조 하세요.
클래스 수준에서만 Property
를 사용할 수 있습니다. 이는 속성의 선언 컨텍스트가 클래스, 구조체, 모듈 또는 인터페이스여야 하며 원본 파일, 네임스페이스, 프로시저 또는 블록이 될 수 없음을 의미합니다. 자세한 내용은 선언 컨텍스트 및 기본 액세스 수준을 참조하세요.
기본적으로 속성은 공용 액세스를 사용합니다. Property
문의 액세스 한정자를 사용하여 속성의 액세스 수준을 조정할 수 있으며 선택적으로 해당 속성 프로시저 중 하나를 더 제한적인 액세스 수준으로 조정할 수 있습니다.
Visual Basic은 속성 할당 중에 매개 변수를 Set
프로시저에 전달합니다. Set
에 대한 매개 변수를 제공하지 않으면 IDE(통합 개발 환경)은 value
라는 암시적 매개 변수를 사용합니다. 이 매개 변수는 속성에 할당될 값을 보유합니다. 일반적으로 이 값을 전용 지역 변수에 저장하고 Get
프로시저가 호출될 때마다 반환합니다.
규칙
혼합된 액세스 수준 읽기-쓰기 속성을 정의하는 경우 선택적으로
Get
또는Set
프로시저에 대해 서로 다른 액세스 수준을 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이렇게 하면 프로시저 액세스 수준이 속성의 액세스 수준보다 더 제한적이어야 합니다. 예를 들어, 속성이Friend
로 선언된 경우Set
프로시저Private
은 선언할 수 있지만Public
은 선언할 수 없습니다.ReadOnly
또는WriteOnly
속성을 정의하는 경우 단일 속성 프로시저(각각Get
또는Set
)는 모든 속성을 나타냅니다. 해당 프로시저에 대해 다른 액세스 수준을 선언할 수 없습니다. 그렇게 하면 해당 속성에 대해 두 가지 액세스 수준이 설정되기 때문입니다.반환 형식.
Property
문은 반환되는 값의 데이터 형식을 선언할 수 있습니다. 모든 데이터 형식이나 열거형, 구조체, 클래스 또는 인터페이스의 이름을 지정할 수 있습니다.returntype
을 지정하지 않으면 속성은Object
를 반환합니다.구현 이 속성이
Implements
키워드를 사용하는 경우 포함 클래스 또는 구조체에는Class
또는Structure
문 바로 뒤에Implements
문이 있어야 합니다.Implements
문은implementslist
에 지정된 각 인터페이스를 포함해야 합니다. 그러나 인터페이스가definedname
에 있는Property
를 정의하는 이름은name
에 있는 이 속성의 이름과 동일할 필요는 없습니다.
동작
속성 프로시저에서 반환.
Get
또는Set
프로시저가 호출 코드로 반환되면 이를 호출한 문 다음의 문으로 실행이 계속됩니다.Exit Property
및Return
문은 속성 프로시저를 즉시 종료합니다.Exit Property
및Return
문은 프로시저의 어느 위치에나 나타날 수 있으며,Exit Property
및Return
문을 혼합할 수 있습니다.반환 값.
Get
프로시저에서 값을 반환하려면 속성 이름에 값을 할당하거나Return
문에 포함할 수 있습니다. 다음 예에서는 반환 값을 속성 이름quoteForTheDay
에 할당한 다음Exit Property
문을 사용하여 반환합니다.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End Property
name
에 값을 할당하지 않고Exit Property
를 사용하는 경우Get
프로시저는 속성의 데이터 형식에 대한 기본값을 반환합니다.동시에
Return
문은Get
프로시저 반환 값을 할당하고 프로시저를 종료합니다. 다음 예에서는 이러한 방법을 보여 줍니다.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
예시
다음 예에서는 클래스의 속성을 선언합니다.
Class Class1
' Define a local variable to store the property value.
Private propertyValue As String
' Define the property.
Public Property Prop1() As String
Get
' The Get property procedure is called when the value
' of a property is retrieved.
Return propertyValue
End Get
Set(ByVal value As String)
' The Set property procedure is called when the value
' of a property is modified. The value to be assigned
' is passed in the argument to Set.
propertyValue = value
End Set
End Property
End Class
참고 항목
.NET