名前空間
提供:AB開発Wiki
ナビゲーションに移動検索に移動
名前空間は、識別子(変数、関数、クラスなど)に論理的な階層構造を付与するものです。ライブラリ間や利用者の書いたコードとで同じ識別子が現れてしまうなどといった事態を阻止するための機能です。
関係するステートメント
Namespace ステートメント
Namespaceは、名前空間を定義するステートメントです。
Namespace 名前空間名 /* 任意のステートメント */ End Namespace
Namespaceは入れ子にできます。
名前空間内で宣言された識別子を参照するには“名前空間名.”で修飾する必要があります。
Imports ステートメント
Importsは、指定した名前空間内の識別子の定義を取り込むステートメントです。
Imports 名前空間名
例
名前空間の定義と使用の例です。
Namespace Active Namespace Basic Sub C1() End Sub End Namespace End Namespace Active.Basic.C1() 'OK Imports Active.Basic C1() 'OK
Imports ステートメントを使用した結果として識別子の区別が付けられなくなる場合は、エラーになります。
Namespace Alpha Sub Proc() End Sub End Namespace Namespace Beta Sub Proc() End Sub Sub Proc2() End Sub End Namespace Imports Alpha Imports Beta Proc() 'Alpha.ProcとBeta.Procの区別が付けられないのでエラー Alpha.Proc() '名前空間を指定すればOK Beta.Proc() '同じくOK Proc2() 'OK - Beta.Proc2が呼ばれる