名前空間
複数の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(); //これはビルドエラー