C# - 名前空間
名前空間 ある名前のセットを別の名前セットから分離する方法を提供するために設計されています。ある名前空間で宣言されたクラス名は、別の名前空間で宣言された同じクラス名と競合しません。
名前空間の定義
名前空間の定義はキーワード namespace で始まります 次のように名前空間名が続きます-
namespace namespace_name { // code declarations }
関数または変数の名前空間対応バージョンを呼び出すには、次のように名前空間名を先頭に追加します −
namespace_name.item_name;
次のプログラムは、名前空間の使用を示しています −
ライブデモusing System; namespace first_space { class namespace_cl { public void func() { Console.WriteLine("Inside first_space"); } } } namespace second_space { class namespace_cl { public void func() { Console.WriteLine("Inside second_space"); } } } class TestClass { static void Main(string[] args) { first_space.namespace_cl fc = new first_space.namespace_cl(); second_space.namespace_cl sc = new second_space.namespace_cl(); fc.func(); sc.func(); Console.ReadKey(); } }
上記のコードをコンパイルして実行すると、次の結果が生成されます −
Inside first_space Inside second_space
使い方 キーワード
使い方 キーワードは、プログラムが指定された名前空間の名前を使用していることを示しています。たとえば、システムを使用しています 私たちのプログラムの名前空間。そこにクラス Console が定義されています。書くだけ −
Console.WriteLine ("Hello there");
完全修飾名を次のように書くこともできます −
System.Console.WriteLine("Hello there");
using を使用して、名前空間の先頭への追加を回避することもできます 名前空間ディレクティブ。このディレクティブは、後続のコードが指定された名前空間の名前を使用していることをコンパイラに伝えます。したがって、名前空間は次のコードで暗示されます −
前の例を using ディレクティブで書き直してみましょう −
ライブデモusing System; using first_space; using second_space; namespace first_space { class abc { public void func() { Console.WriteLine("Inside first_space"); } } } namespace second_space { class efg { public void func() { Console.WriteLine("Inside second_space"); } } } class TestClass { static void Main(string[] args) { abc fc = new abc(); efg sc = new efg(); fc.func(); sc.func(); Console.ReadKey(); } }
上記のコードをコンパイルして実行すると、次の結果が生成されます −
Inside first_space Inside second_space
ネストされた名前空間
次のように、別の名前空間内にある名前空間を定義できます-
namespace namespace_name1 { // code declarations namespace namespace_name2 { // code declarations } }
次のようにドット (.) 演算子を使用して、ネストされた名前空間のメンバーにアクセスできます −
ライブデモusing System; using first_space; using first_space.second_space; namespace first_space { class abc { public void func() { Console.WriteLine("Inside first_space"); } } namespace second_space { class efg { public void func() { Console.WriteLine("Inside second_space"); } } } } class TestClass { static void Main(string[] args) { abc fc = new abc(); efg sc = new efg(); fc.func(); sc.func(); Console.ReadKey(); } }
上記のコードをコンパイルして実行すると、次の結果が生成されます −
Inside first_space Inside second_space
C言語