Property Statement
속성의 이름과 속성 값을 저장하고 검색하는 데 사용되는 속성 프로시저를 선언합니다.
Syntax
[ <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
(선택 사항) 그림자를 참조하세요.
ReadOnly
(선택 사항) ReadOnly를 참조하세요.
WriteOnly
(선택 사항) WriteOnly를 참조하세요.
Iterator
(선택 사항) 반복기를 참조하세요.
name
필수 요소. 속성의 이름입니다. Declared Element Names을 참조하세요.
parameterlist
(선택 사항) 이 속성의 매개 변수를 나타내는 지역 변수 이름 목록 및 프로시저의 가능한 추가 매개 변수입니다
Set
. 매개 변수 목록을 참조하세요.returntype
필요한 경우
Option Strict
는On
합니다. 이 속성에서 반환된 값의 데이터 형식입니다.Implements
(선택 사항) 이 속성이 하나 이상의 속성을 구현한다는 것을 나타내며, 각 속성은 이 속성의 포함하는 클래스 또는 구조체에 의해 구현된 인터페이스에 정의되어 있습니다. 구현 문을 참조하세요.
implementslist
Implements
가 제공된 경우 필수입니다. 구현되는 속성 목록입니다.implementedproperty [ , implementedproperty ... ]
각
implementedproperty
에는 다음과 같은 구문과 요소가 있습니다.interface.definedname
부분 Description interface
필수 요소. 이 속성의 포함하는 클래스 또는 구조체에 의해 구현된 인터페이스의 이름입니다. definedname
필수 요소. 속성이 에 interface
정의된 이름입니다.Get
(선택 사항) 속성이 로 표시된
ReadOnly
경우 필수입니다. 속성 값을Get
반환하는 데 사용되는 속성 프로시저를 시작합니다. 문은Get
자동 구현 속성과 함께 사용되지 않습니다.statements
(선택 사항) 또는
Set
프로시저 내에서Get
실행할 문의 블록입니다.End Get
속성 프로시저를
Get
종료합니다.Set
(선택 사항) 속성이 로 표시된
WriteOnly
경우 필수입니다. 속성 값을Set
저장하는 데 사용되는 속성 프로시저를 시작합니다. 문은Set
자동 구현 속성과 함께 사용되지 않습니다.End Set
속성 프로시저를
Set
종료합니다.End Property
이 속성의 정의를 종료합니다.
설명
문은 Property
속성의 선언을 소개합니다. 속성에는 프로시저(읽기 전용), Set
프로시저(쓰기 전용) 또는 둘 다(읽기-쓰기)가 있을 Get
수 있습니다. 자동 구현 속성을 사용할 때 및 Set
프로시저를 생략 Get
할 수 있습니다. 자세한 내용은 자동으로 구현된 속성을 참조하세요.
클래스 수준에서만 사용할 Property
수 있습니다. 즉, 속성의 선언 컨텍스트 는 클래스, 구조체, 모듈 또는 인터페이스여야 하며 소스 파일, 네임스페이스, 프로시저 또는 블록일 수 없습니다. 자세한 내용은 선언 컨텍스트 및 기본 액세스 수준을 참조하세요.
기본적으로 속성은 공용 액세스를 사용합니다. 문의 액세스 한정자를 Property
사용하여 속성의 액세스 수준을 조정할 수 있으며, 필요에 따라 속성 프로시저 중 하나를 보다 제한적인 액세스 수준으로 조정할 수 있습니다.
Visual Basic은 속성 할당 중에 매개 변수를 프로시저에 Set
전달합니다. 에 대한 Set
매개 변수를 제공하지 않으면 IDE(통합 개발 환경)는 라는 value
암시적 매개 변수를 사용합니다. 이 매개 변수는 속성에 할당할 값을 보유합니다. 일반적으로 이 값을 프라이빗 지역 변수에 저장하고 프로시저가 Get
호출 될 때마다 반환합니다.
규칙
혼합 액세스 수준. 읽기-쓰기 속성을 정의하는 경우 필요에 따라 또는
Set
프로시저에Get
대해 다른 액세스 수준을 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이렇게 하면 프로시저 액세스 수준이 속성의 액세스 수준보다 더 제한적이어야 합니다. 예를 들어 속성이 선언된Friend
경우 프로시저Private
를 선언할 수 있지만 은Set
선언할 수 없습니다Public
.또는 속성을 정의하는
ReadOnly
경우 단일 속성 프로시저(Get
또는Set
각각)는 모든 속성을WriteOnly
나타냅니다. 속성에 대해 두 개의 액세스 수준을 설정하므로 이러한 프로시저에 대해 다른 액세스 수준을 선언할 수 없습니다.반환 형식입니다. 문은
Property
반환되는 값의 데이터 형식을 선언할 수 있습니다. 모든 데이터 형식 또는 열거형, 구조체, 클래스 또는 인터페이스의 이름을 지정할 수 있습니다.를 지정
returntype
하지 않으면 속성이 를 반환합니다Object
.구현. 이 속성이 키워드를
Implements
사용하는 경우 포함하는 클래스 또는 구조체에는 또는Structure
문 바로 다음에Class
문이Implements
있어야 합니다. 문에는Implements
에implementslist
지정된 각 인터페이스가 포함되어야 합니다. 그러나 인터페이스가 (indefinedname
)를 정의하는Property
이름은 이 속성의 이름(name
의 )과 같을 필요는 없습니다.
동작
속성 프로시저에서 반환합니다. 또는
Set
프로시저가Get
호출 코드로 돌아오면 호출된 문 다음에 문으로 실행을 계속합니다.및
Return
문은Exit Property
속성 프로시저에서 즉시 종료됩니다. 모든 수의Exit Property
및Return
문은 프로시저의 아무 곳에나 나타날 수 있으며 및Return
문을 혼합Exit Property
할 수 있습니다.반환 값입니다. 프로시저에서
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