속성에 Set 값을 할당하는 데 사용되는 속성 프로시저를 선언합니다.
문법
[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]
[ statements ]
End Set
부분
attributelist
선택 사항입니다.
특성 목록을 참조하세요.
accessmodifier
이 속성의 Get 최대 하나 및 Set 문에서 선택 사항입니다. 다음 중 하나일 수 있습니다.
Access levels in Visual Basic을 참조하세요.
value
선택 사항입니다. 속성의 새 값을 포함하는 매개 변수입니다. 매개 변수 목록이 없거나 비어 있는 경우 지정되지 않은 경우 명명 value 된 암시적 매개 변수가 정의됩니다. 이 암시적 매개 변수의 데이터 형식은 이 Set 문이 선언된 속성의 데이터 형식입니다.
datatype
존재하고 있는 경우 value 필수입니다On.Option Strict 지정하지 않으면 value 존재할 수 없습니다. 매개 변수의 데이터 형식입니다 value . 지정된 데이터 형식은 이 Set 문이 선언된 속성의 데이터 형식과 동일해야 합니다.
statements
선택 사항입니다. 속성 프로시저를 호출할 때 Set 실행되는 하나 이상의 문입니다.
End Set
필수 사항입니다. 속성 프로시저의 Set 정의를 종료합니다.
비고
속성이 Set 표시되지 ReadOnly않는 한 모든 속성에 속성 프로시저가 있어야 합니다. 이 Set 프로시저는 속성 값을 설정하는 데 사용됩니다.
할당 문이 속성에 저장할 값을 제공하는 경우 Visual Basic은 속성의 Set 프로시저를 자동으로 호출합니다.
Visual Basic은 속성 할당 중에 프로시저에 Set 매개 변수를 전달합니다. 매개 변수를 Set제공하지 않으면 IDE(통합 개발 환경)는 명명 value된 암시적 매개 변수를 사용합니다. 매개 변수는 속성에 할당할 값을 보유합니다. 일반적으로 이 값을 프라이빗 지역 변수에 저장하고 프로시저가 Get 호출 될 때마다 반환합니다.
속성 선언의 본문에는 Property 문End Property 과 문 사이의 속성 Get 및 Set 프로시저만 포함될 수 있습니다. 이러한 프로시저 이외의 다른 항목은 저장할 수 없습니다. 특히 속성의 현재 값을 저장할 수 없습니다. 속성 프로시저 중 하나에 저장하면 다른 속성 프로시저에서 액세스할 수 없으므로 이 값을 속성 외부에 저장해야 합니다. 일반적인 방법은 속성과 동일한 수준에서 선언된 Private 변수에 값을 저장하는 것입니다. 적용되는 속성 내에 프로시저를 정의 Set 해야 합니다.
문에서 사용하지 accessmodifierSet 않는 한 프로시저는 Set 기본적으로 포함된 속성의 액세스 수준으로 설정됩니다.
규칙
혼합 액세스 수준입니다. 읽기/쓰기 속성을 정의하는 경우 선택적으로 프로시저 또는
Set프로시저에 대해Get다른 액세스 수준을 지정할 수 있지만 둘 다 지정할 수는 없습니다. 이렇게 하면 프로시저 액세스 수준이 속성의 액세스 수준보다 더 제한적이어야 합니다. 예를 들어 속성이 선언된Friend경우 프로시저Private를 선언할 수 있지만 선언할Set수는 없습니다Public.속성을 정의하는
WriteOnly경우 프로시저는Set전체 속성을 나타냅니다. 속성에 대해Set두 개의 액세스 수준을 설정하므로 다른 액세스 수준을 선언할 수 없습니다.
행동
속성 프로시저에서 반환합니다. 프로시저가
Set호출 코드로 돌아오면 저장할 값을 제공한 문에 따라 실행이 계속됩니다.Set속성 프로시저는 Return 문 또는 Exit 문을 사용하여 반환할 수 있습니다.및
Return문은Exit Property속성 프로시저에서 즉시 종료됩니다.Exit Property및Return문은 프로시저의 어느 위치에나 나타날 수 있으며,Exit Property및Return문을 혼합할 수 있습니다.
예시
다음 예제에서는 문을 사용하여 Set 속성 값을 설정합니다.
Class propClass
Private propVal As Integer
Property Prop1() As Integer
Get
Return propVal
End Get
Set(ByVal value As Integer)
propVal = value
End Set
End Property
End Class
참고하십시오
.NET