方法 : 宣言された要素名を修飾する
更新 : 2007 年 11 月
宣言された要素をコードから参照するときには、Visual Basic のコンパイラが、参照内の名前をその名前の適切な宣言に対応させる必要があります。要素がコードの外で定義されている場合、あるいは同じ名前で複数の要素が宣言されている場合、コンパイラであいまいさを解決できるように、あるいは要素を特定できるようにするため、名前を修飾する必要があります。
名前を修飾するということは、ソース ステートメント内で、ターゲットの要素が定義された場所を識別する情報よりも前に置くことを意味します。この情報は、修飾文字列と呼ばれます。1 つまたは複数の名前空間とモジュール、クラス、または構造体を含めることができます。
修飾文字列では、明確にモジュール、クラス、またはターゲット要素を含む構造体を指定する必要があります。コンテナは、その代わりに他のコンテナ要素、通常は名前空間に配置されます。修飾文字列にはいくつかのコンテナ要素を含める必要があります。
名前を修飾して宣言された要素にアクセスするには
要素が定義された場所を特定します。これには、名前空間、あるいは名前空間の階層までもが含まれる場合があります。最下位レベルの名前空間では、要素はモジュール、クラス、または構造体に含まれている必要があります。
' 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
コンパイラは修飾文字列を使用して、ターゲット要素の参照と対応する、明白で、あいまいでない宣言を特定します。
参照
処理手順
方法 : 派生クラスによって非表示になっている変数にアクセスする