다음을 통해 공유


선언된 요소 이름(Visual Basic)

선언된 모든 요소에는 코드에서 참조하는 데 사용하는 식별자라고도 하는 이름이 있습니다.

규칙

Visual Basic의 요소 이름은 다음 규칙을 준수해야 합니다.

  • 사전순 문자 또는 밑줄(_)로 시작해야 합니다.

  • 영문자, 10진수 및 밑줄만 포함해야 합니다.

  • 밑줄로 시작하는 경우 영문자 또는 소수 자릿수를 하나 이상 포함해야 합니다.

  • 1023자를 초과하면 안 됩니다.

1023자의 길이 제한은 정규화된 이름의 전체 문자열(예: outerNamespace.middleNamespace.innerNamespace.thisClass.thisElement.)에도 적용됩니다.

다음 예제에서는 몇 가지 유효한 요소 이름을 보여줍니다.

aB123__45

_567

다음 예제에서는 몇 가지 잘못된 요소 이름을 보여 있습니다. 첫 번째는 밑줄만 포함하고, 두 번째는 10진수로 시작하고, 세 번째 문자는 잘못된 문자($)를 포함합니다.

' Three INVALID element names

_

12ABC

xyz$wv

주의

밑줄()로 시작하는 요소 이름은 CLS(_Language Independence and Language-Independent Components)의 일부가 아니므로 CLS 규격 코드는 이러한 이름을 정의하는 구성 요소를 사용할 수 없습니다. 그러나 요소 이름의 다른 위치에 있는 밑줄은 CLS 규격입니다.

이름 길이 가이드라인

실질적인 문제로, 이름은 요소의 특성을 명확하게 식별하면서 가능한 한 짧아야 합니다. 이렇게 하면 코드의 가독성이 향상되고 줄 길이와 소스 파일 크기가 줄어듭니다.

반면에 이름이 너무 짧아 요소가 대표하는 것과 코드에서의 사용 방법을 제대로 설명할 수 없는 상황은 피해야 합니다. 이는 코드의 가독성을 위해 중요합니다. 다른 사람이 그것을 이해하려고 하거나 사용자가 작성한 후 오랜 시간 동안 보고 있다면 적절한 요소 이름은 상당한 시간을 절약할 수 있습니다.

이스케이프된 이름

일반적으로 요소 이름은 Visual Basic에서 예약한 키워드(예: Case 또는 Friend.)와 일치하지 않아야 합니다. 그러나 대괄호()로 묶인 이[ ] 정의할 수 있습니다. 대괄호는 모호성을 제거하기 때문에 이스케이프된 이름은 Visual Basic 키워드와 일치할 수 있습니다. 코드의 뒷부분에서 이름을 참조할 때도 대괄호를 사용합니다.

일반적으로 다음 경우에만 이스케이프된 이름을 사용하는 것이 좋습니다.

  • 코드가 이름으로 사용되는 키워드를 예약하지 않은 이전 버전의 Visual Basic에서 마이그레이션되었습니다. 또는

  • 지정된 키워드가 예약되지 않은 다른 언어로 작성된 코드로 작업하고 있습니다.

그렇지 않으면 해당 이름이 키워드와 충돌하는 경우 요소의 이름을 바꾸는 것이 좋습니다. IDE(통합 개발 환경)는 이 작업을 쉽게 수행할 수 있는 방법을 제공합니다. 자세한 내용은 리팩터링을 참조하세요.

이름의 대소문자 구분

Visual Basic의 요소 이름은 대/소문자를 구분하지 않습니다. 즉, 컴파일러가 알파벳 대/소문자만 다른 두 이름을 비교할 때 동일한 이름으로 해석됩니다. 예를 들어, ABCabc가 동일한 선언된 요소를 가리키는 것으로 간주됩니다.

그러나 CLR(공용 언어 런타임)은 대/소문자를 구분하는 바인딩을 사용합니다. 따라서 어셈블리 또는 DLL을 생성하고 다른 어셈블리에서 사용할 수 있도록 하면 이름이 더 이상 대/소문자를 구분하지 않습니다. 예를 들어, ABC라는 요소를 포함하는 클래스를 정의하고 다른 어셈블리가 공용 언어 런타임을 통해 해당 클래스를 사용하는 경우, 해당 요소를 ABC로 참조해야 합니다. 이후에 클래스를 다시 컴파일하고 요소의 이름을 abc변경하면 클래스를 사용하는 다른 어셈블리가 해당 요소에 더 이상 액세스할 수 없습니다. 따라서 업데이트된 버전의 어셈블리를 릴리스하는 경우 공용 요소의 사전순 대/소문자를 변경해서는 안 됩니다.

이름 및 지역 설정

이름 비교는 로캘과 독립적입니다. 두 이름이 한 로캘에 일치하면 모든 로캘에서 일치하도록 보장됩니다.

참고하십시오