名前空間

複数のnamespaceに同じ名前のclassがある場合

①自namespaceにその名前のclassがある場合

自namespaceのclassを使用する場合

名前空間の指定は省略できる(というか普通は省略する)
例 var a = new class1();


他namespaceのclassを使用する場合

クラス名の前に名前空間を指定する
例 var a = new namespace2.class1();
 ※後に出てくるusingによる名前空間の指定による省略はできない

 

②自namespaceにその名前のclassがない場合

usingで使用したい名前空間を事前に指定していない場合

使用したいclassがあるnamespace名を付ける
例 var a = new namespace2.class1();

 

usingで使用したい名前空間を事前に指定している場合

usingで指定した名前空間については記載を省略できる

例 using namespace2;
  (中略)
  var a = new class1();
ただし、他のusingで指定した複数の名前空間に同名classが存在している場合は名前空間の指定は省略できない(ビルドエラーになる)

ビルドエラーになる例

例 using namespace2; //ここにclass1あり

  using namespace3; //ここにもclass1あり
  (中略)
  var a = new class1(); //これはビルドエラー