Global
更新 : 2007 年 11 月
.NET Framework プログラミング要素へのアクセスを、名前空間を構成してブロックした場合に、そのアクセスを可能にします。
解説
入れ子になった階層構造の名前空間を定義すると、その階層構造の内部にあるコードが .NET Framework の System 名前空間にアクセスするのを防止できます。SpecialSpace.System 名前空間に定義された階層構造が System へのアクセスを防止する例は、次のようになります。
Namespace SpecialSpace
Namespace System
Class abc
Function getValue() As System.Int32
Dim n As System.Int32
Return n
End Function
End Class
End Namespace
End Namespace
この場合、SpecialSpace.System に Int32 が定義されていないため、Visual Basic コンパイラは System.Int32 への参照を正しく解決できません。Global キーワードを使用すると、修飾チェインを .NET Framework クラス ライブラリの最も外側のレベルで開始できます。これにより、クラス ライブラリの System 名前空間や、その他のあらゆる名前空間を指定できるようになります。次に例を示します。
Namespace SpecialSpace
Namespace System
Class abc
Function getValue() As Global.System.Int32
Dim n As Global.System.Int32
Return n
End Function
End Class
End Namespace
End Namespace
Global を指定しているため、他のルート レベルの名前空間 (Microsoft.VisualBasic など)、およびプロジェクトに関連する任意の名前空間にアクセスできます。
キーワード Global は、次の構文で使用します。
For...Next ステートメント (Visual Basic)
For Each...Next ステートメント (Visual Basic)
Function ステートメント (Visual Basic)
Interface ステートメント (Visual Basic)
Try...Catch...Finally ステートメント (Visual Basic)