【C#】名前空間の考え方

次のサンプルは、実用性はありませんが、学習には適しています

コードを使った例え

2つの名前空間を国に例えています
1つ目は日本、2つ目はアメリカです

プログラムはMainメソッドから始まりますので、そこから確認してみましょう
千葉県に住んでいる場合にアメリカのロサンゼルスの条例にアクセスする場合、フルパスでアクセスする必要があることがわかります

namespace Japan
{
    class Chiba
    {
        static string Law = "千葉条例";

        private static void Main()
        {
            Console.WriteLine(Law);
            Console.WriteLine(America.Los.Law);
        }
    }
}

namespace America
{
    class Los
    {
        public static string Law = "アメリカのロサンゼルスの条例";
    }
}

次の例は、ロサンゼルスを更に細かく、アメリカ西武のロサンゼルスとしています
アクセス数場合、America.West.Los.とやはりフルパスでアクセスしています

namespace Japan
{
    class Chiba
    {
        static string Law = "千葉条例";

        private static void Main()
        {
            Console.WriteLine(Law);
            Console.WriteLine(America.West.Los.Law);
        }
    }
}

namespace America
{
    namespace West
    {
        class Los
        {
            public static string Law = "アメリカのロサンゼルスの条例";
        }
    }
}

次の例は、上と同じですが、

Console.WriteLine(America.West.Los.Law);

が省略されているのがわかります

これを実現するために、namespace内に

using America.West;

が追加されています

namespace Japan
{
    using America.West;

    class Chiba
    {
        static string Law = "千葉条例";

        private static void Main()
        {
            Console.WriteLine(Law);
            Console.WriteLine(Los.Law);
        }
    }
}

namespace America
{
    namespace West
    {
        class Los
        {
            public static string Law = "アメリカのロサンゼルスの条例";
        }
    }
}

その他の例え

  • ブラウザでホームページを見るためのURL
  • エクスプローラでのフォルダやファイルの管理

C#,学習,設計

Posted by hidepon