방법: 선언된 요소 이름 한정
업데이트: 2007년 11월
코드에서 선언 요소를 참조할 경우 Visual Basic 컴파일러에서는 참조 이름을 그에 해당하는 선언과 일치시켜야 합니다. 요소가 코드 외부에 정의되어 있거나 같은 이름의 요소가 둘 이상 선언된 경우 컴파일러에서 가능한 모든 모호성을 해결하거나 해당 요소를 찾을 수 있도록 이름을 한정해야 합니다.
소스 문의 이름 앞에 대상 요소가 정의된 위치에 대한 식별 정보를 추가하면 이름이 한정됩니다. 이 정보를 한정 문자열이라고 합니다. 한정 문자열에는 하나 이상의 네임스페이스와 모듈, 클래스 또는 구조체 이름이 포함될 수 있습니다.
한정 문자열은 대상 요소가 들어 있는 모듈, 클래스 또는 구조체를 명확하게 지정해야 합니다. 또한 이 컨테이너는 다른 포함 요소(일반적으로 네임스페이스)에 포함되어 있을 수 있습니다. 따라서 한정 문자열에 여러 개의 포함 요소를 추가해야 할 수 있습니다.
이름을 한정하여 선언된 요소에 액세스하려면
요소가 정의된 위치를 확인합니다. 여기에는 네임스페이스 또는 네임스페이스의 계층 구조가 포함될 수 있습니다. 요소는 최하위 수준 네임스페이스 내에서 모듈, 클래스 또는 구조체에 포함되어야 합니다.
' Assume the following hierarchy exists outside your code. Namespace outerSpace Namespace innerSpace Module holdsTotals Public Structure totals Public thisTotal As Integer Public Shared grandTotal As Long End Structure End Module End Namespace End Namespace
대상 요소의 위치를 기준으로 한정 경로를 확인합니다. 최상위 수준 네임스페이스에서 시작하여 최하위 수준 네임스페이스로 진행하고 대상 요소가 들어 있는 모듈, 클래스 또는 구조체로 끝냅니다. 경로의 각 요소에는 그 다음에 나오는 요소가 포함되어 있어야 합니다.
outerSpace → innerSpace → holdsTotals → totals
대상 요소에 대한 한정 문자열을 준비합니다. 경로의 모든 요소 뒤에 마침표(.)를 추가합니다. 응용 프로그램에서 한정 문자열의 모든 요소에 액세스할 수 있어야 합니다.
outerSpace.innerSpace.holdsTotals.totals.
대상 요소를 참조하는 식 또는 대입문을 일반적인 방식으로 작성합니다.
grandTotal = 9000
대상 요소 이름 앞에 한정 문자열을 추가합니다. 이 이름은 요소가 들어 있는 모듈, 클래스 또는 구조체 뒤의 마침표(.) 바로 뒤에 와야 합니다.
' Assume the following module is part of your code. Module accessGrandTotal Public Sub setGrandTotal() outerSpace.innerSpace.holdsTotals.totals.grandTotal = 9000 End Sub End Module
컴파일러에서는 한정 문자열을 사용하여 대상 요소 참조와 일치시킬 수 있는 명확하고 모호하지 않은 선언을 찾습니다.