【C#チュートリアル】C#名前空間(ネームスペース)

黄舟
リリース: 2016-12-24 13:43:09
オリジナル
1095 人が閲覧しました

C# 名前空間

名前空間は、名前のグループを他の名前から分離する方法を提供するように設計されています。ある名前空間で宣言されたクラスの名前は、別の名前空間で宣言された同じクラスの名前と競合しません。

名前空間を定義する

以下に示すように、名前空間の定義はキーワード namespace で始まり、その後に名前空間の名前が続きます:

namespace namespace_name
{
   // 代码声明
}
ログイン後にコピー

名前空間のバージョンをサポートする関数または変数を呼び出すには、名前空間の名前が続きます。以前は、以下に示すように、名前空間が配置されます:

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
ログイン後にコピー
ログイン後にコピー

using キーワード

usingキーワードは、プログラムが指定された名前空間内の名前を使用することを示します。たとえば、プログラムでは System 名前空間を使用し、Console クラスを定義します。次のように書くことができます:

Console.WriteLine ("Hello there");
ログイン後にコピー

次のように完全修飾名を書くことができます:

System.Console.WriteLine("Hello there");
ログイン後にコピー

using namespace ディレクティブを使用することもできるため、使用時に名前空間名をその前に追加する必要はありません。このディレクティブは、後続のコードで指定された名前空間の名前を使用することをコンパイラーに指示します。次のコードは、名前空間の適用を遅延させます。

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
ログイン後にコピー
ログイン後にコピー

ネストされた名前空間

名前空間はネストできます。つまり、1 つの名前空間を定義できます。

namespace namespace_name1 
{
   // 代码声明
   namespace namespace_name2 
   {
     // 代码声明
   }
}
ログイン後にコピー

次のようにドット (.) 演算子を使用して、ネストされた名前空間のメンバーにアクセスできます。

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();
   }
}
ログイン後にコピー

上記のコードがコンパイルされると、実行されると、次の結果が生成されます。上記は [c# チュートリアル] C# 名前空間 (Namespace) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート