宣言されたすべての要素には、 識別子とも呼ばれる名前があります。これは、コードが参照するために使用する名前です。
準則
Visual Basic の要素名は、次の規則に従う必要があります。
先頭は英字またはアンダースコア (
_
) である必要があります。英字、10 進数、およびアンダースコアのみを含める必要があります。
アンダースコアで始まる場合は、少なくとも 1 つの英字または 10 進数字を含める必要があります。
長さは 1023 文字以下にする必要があります。
1023 文字の長さの制限は、 outerNamespace.middleNamespace.innerNamespace.thisClass.thisElement
など、完全修飾名の文字列全体にも適用されます。
次の例は、いくつかの有効な要素名を示しています。
aB123__45
_567
次の例は、いくつかの無効な要素名を示しています。 1 つ目にはアンダースコアのみが含まれており、2 つ目は 10 進数字で始まり、3 つ目には無効な文字 ($) が含まれています。
' Three INVALID element names
_
12ABC
xyz$wv
注意事項
アンダースコア (_
) で始まる要素名は 言語非依存コンポーネントおよび Language-Independent コンポーネント (CLS) の一部ではないため、CLS 準拠コードでは、このような名前を定義するコンポーネントを使用できません。 ただし、要素名内の他の位置のアンダースコアは CLS に準拠しています。
名前の長さのガイドライン
実際には、要素の性質を明確に識別しながら、名前はできるだけ短くする必要があります。 これにより、コードの読みやすさが向上し、行の長さとソース ファイルのサイズが小さくなります。
一方、名前は、要素が何を表し、どのようにコードで使用されるかを適切に記述しないように短くしないでください。 これは、コードを読みやすくするために重要です。 他の誰かがそれを理解しようとしている場合、または自分がそれを書いた後に長い時間それを見ている場合、適切な要素名はかなりの時間を節約できます。
エスケープされた名前
一般に、要素名は、 Case
や Friend
など、Visual Basic によって予約されたキーワードと一致してはなりません。 ただし、角かっこ ([ ]
) で囲まれたエスケープされた名前を定義できます。 エスケープされた名前は、任意の Visual Basic キーワードと一致する可能性があります。角かっこを使用するとあいまいさが解消されるためです。 後でコードで名前を参照するときにも角かっこを使用します。
一般に、エスケープされた名前は、次の場合にのみ使用する必要があります。
名前として使用されているキーワードを予約していない以前のバージョンの Visual Basic からコードが移行されました。又は
指定されたキーワードが予約されていない別の言語で記述されたコードを使用しています。
それ以外の場合は、その名前がキーワードと競合する場合は、要素の名前を変更することを検討する必要があります。 統合開発環境 (IDE) は、これを簡単に行う方法を提供します。 詳細については、「リファクタリング」 を参照してください。
名前の大文字と小文字の区別
Visual Basic の要素名では、大文字と小文字が区別されません。 これは、コンパイラが英字の大文字と小文字のみが異なる 2 つの名前を比較すると、同じ名前として解釈されることを意味します。 たとえば、 ABC
と abc
は、同じ宣言された要素を参照すると見なされます。
ただし、共通言語ランタイム (CLR) では、大文字と小文字が区別されるバインディングが使用されます。 そのため、アセンブリまたは DLL を生成し、それを他のアセンブリで使用できるようにする場合、名前では大文字と小文字が区別されなくなります。 たとえば、 ABC
と呼ばれる要素を持つクラスを定義し、他のアセンブリが共通言語ランタイムを介してクラスを使用する場合は、その要素を ABC
として参照する必要があります。 その後、クラスを再コンパイルし、要素の名前を abc
に変更すると、クラスを使用する他のアセンブリはその要素にアクセスできなくなります。 したがって、アセンブリの更新バージョンをリリースする場合は、パブリック要素の英字の大文字と小文字を変更しないでください。
名前とロケール
名前の比較はロケールに依存しません。 2 つの名前が 1 つのロケールで一致する場合、すべてのロケールで一致することが保証されます。
こちらも参照ください
.NET