宣言された要素の名前 (Visual Basic)Declared Element Names (Visual Basic)

宣言されたすべての要素には、識別子とも呼ばれる名前が付いています。これは、コードがそれを参照するために使用します。Every declared element has a name, also called an identifier, which is what the code uses to refer to it.

ルールRules

Visual Basic 内の要素名は、次の規則を満たす必要があります。An element name in Visual Basic must observe the following rules:

  • 先頭には、アルファベット文字またはアンダースコア (_) を使用する必要があります。It must begin with an alphabetic character or an underscore (_).

  • アルファベット、数字、およびアンダースコアのみを含める必要があります。It must only contain alphabetic characters, decimal digits, and underscores.

  • アンダースコアで始まる場合は、少なくとも1つのアルファベット文字または10進数が含まれている必要があります。It must contain at least one alphabetic character or decimal digit if it begins with an underscore.

  • 長さは1023文字以下でなければなりません。It must not be more than 1023 characters long.

1023文字の長さの制限は、outerNamespace.middleNamespace.innerNamespace.thisClass.thisElementなど、完全修飾名の文字列全体にも適用されます。The length limit of 1023 characters also applies to the entire string of a fully qualified name, such as outerNamespace.middleNamespace.innerNamespace.thisClass.thisElement.

次の例は、有効な要素名を示しています。The following example shows some valid element names.

aB123__45

_567

次の例は、無効な要素名を示しています。The following example shows some invalid element names. 最初のはアンダースコアのみを含み、2番目のは10進数の数字で始まり、3番目の文字には無効な文字 ($) が含まれます。The first contains only an underscore, the second begins with a decimal digit, and the third contains an invalid character ($).

' Three INVALID element names

_

12ABC

xyz$wv

注意事項

アンダースコア (_) で始まる要素名は、言語に依存しないコンポーネント(cls) の一部ではないため、このような名前を定義するコンポーネントを cls 準拠のコードで使用することはできません。Element names starting with an underscore (_) are not part of the Language Independence and Language-Independent Components (CLS), so CLS-compliant code cannot use a component that defines such names. ただし、要素名の他の位置にあるアンダースコアは CLS に準拠しています。However, an underscore in any other position in an element name is CLS-compliant.

名前の長さのガイドラインName Length Guidelines

実際には、要素の性質を明確に識別しながら、可能な限り短い名前を使用する必要があります。As a practical matter, your name should be as short as possible while still clearly identifying the nature of the element. これにより、コードの読みやすさが向上し、行の長さとソースファイルのサイズが減少します。This improves the readability of your code and reduces line length and source-file size.

一方、要素が表す内容と、コードでその要素がどのように使用されているかを正確に記述していない場合は、名前を短くするべきではありません。On the other hand, your name should not be so short that it does not adequately describe what the element represents and how your code uses it. これは、コードを読みやすくするために重要です。This is important for the readability of your code. 他のユーザーがそれを理解しようとしている場合、または記述した後に長い時間を見ている場合は、適切な要素名を使用するとかなりの時間を節約できます。If somebody else is trying to understand it, or if you yourself are looking at it a long time after you wrote it, suitable element names can save a considerable amount of time.

エスケープされた名前Escaped Names

一般に、要素名は、Visual Basic によって予約されているキーワード (CaseFriendなど) と一致しないようにする必要があります。Generally, an element name must not match any of the keywords reserved by Visual Basic, such as Case or Friend. ただし、エスケープされた名前を定義することもできます。これは、角かっこ ([ ]) で囲みます。However, you can define an escaped name, which is enclosed by brackets ([ ]). エスケープされた名前は、角かっこによってあいまいさが解消されるため、任意の Visual Basic キーワードと一致させることができます。An escaped name can match any Visual Basic keyword, since the brackets remove any ambiguity. また、コード内で後で名前を参照するときにも、角かっこを使用します。You also use the brackets when you refer to the name later in your code.

一般に、次の場合にのみ、エスケープされた名前を使用する必要があります。In general, you should use escaped names only when:

  • コードは、名前として使用されているキーワードを予約していない以前のバージョンの Visual Basic から移行されました。もしくはYour code has migrated from a previous version of Visual Basic that did not reserve the keyword being used as a name; or

  • 指定されたキーワードが予約されていない別の言語で記述されたコードを操作しています。You are working with code written in another language in which the given keyword is not reserved.

それ以外の場合は、名前がキーワードと競合する場合は、要素の名前を変更することを検討してください。Otherwise, you should consider renaming the element if its name conflicts with a keyword. 統合開発環境 (IDE: integrated development environment) を使用すると、簡単にこの操作を行うことができます。The integrated development environment (IDE) provides an easy way to do this. 詳細については、「リファクタリング」を参照してください。For more information, see Refactoring.

名前の大文字と小文字の区別Case Sensitivity in Names

Visual Basic の要素名は大文字と小文字が区別されます。Element names in Visual Basic are case-insensitive. つまり、コンパイラは、アルファベットの大文字と小文字が異なる2つの名前を比較するときに、同じ名前として解釈します。This means that when the compiler compares two names that differ in alphabetic case only, it interprets them as the same name. たとえば、 ABCabc は、宣言された同じ要素を参照していると見なされます。For example, it considers ABC and abc to refer to the same declared element.

しかし、共通言語ランタイム (CLR) のバインディングでは大文字と小文字が区別されます。However, the common language runtime (CLR) uses case-sensitive binding. このため、アセンブリまたは DLL を作成し、他のアセンブリで使用できるようにすると、名前の大文字と小文字が区別されるようになります。Therefore, when you produce an assembly or a DLL and make it available to other assemblies, your names are no longer case-insensitive. たとえば、 ABCという名前の要素を持つクラスを定義し、他のアセンブリから共通言語ランタイムを通じてこのクラスを使用する場合は、この要素を ABCとして参照する必要があります。For example, if you define a class with an element called ABC, and other assemblies make use of your class through the common language runtime, they must refer to the element as ABC. 後でクラスを再コンパイルし、要素の名前を abcに変更した場合、クラスを使用している他のアセンブリは、その要素にアクセスできなくなります。If you subsequently recompile your class and change the element's name to abc, the other assemblies using your class could no longer access that element. したがって、アセンブリを更新してリリースするときは、パブリックな要素の名前の大文字と小文字を変更しないでください。Therefore, when you release an updated version of an assembly, you should not change the alphabetic case of any public elements.

名前とロケールNames and Locales

名前の比較は、ロケールに依存しません。Comparison of names is independent of locale. 2つの名前が1つのロケールで一致する場合は、すべてのロケールで一致することが保証されます。If two names match in one locale, they are guaranteed to match in all locales.

参照See also