C# Programming

Image

NameSpace について

開発環境: Visual Studio 2003 

目次

  1. 目次
  2. 目的
  3. 参考書
  4. ソースコード
  5. 実行結果
  6. 改定記録

目的

Fully Qualified Name (FQN 日本語訳は完全修飾名) でユニークな空間を指定することができる。

以下、サンプルプログラムでは、

using Name1
{ TopClass { method1; SecondClass { method2; } } using Name2 { TopClass { method1; SecondClass { method2; } } } } このような名前空間とスコーピングの時の名前指定に関して検証する。
以下、ソースコード

参考書

(1) MSDN System.TimeZoneクラス

ソースコード

using System;

namespace Name1
{
        /// <summary>
        /// NameSpace のテストです。
        /// </summary>
        class TopClass
        {
                public static string str 
                {
                        get
                        {
                                return "Name1TopClass";
                        }
                }
                public class SecondClass        // public でないと Name2からアクセスできない。
                {
                        public static string str 
                        {
                                get
                                {
                                        return "Name1SecondClass";
                                }
                        }
                }
        }

        namespace Name2
        {
                class TopClass  // Name1 と同じ名前のクラスを宣言する。
                {
                        static string str 
                        {
                                get
                                {
                                        return "Name2TopClass";
                                }
                        }
                        public class SecondClass        // Name2 と同じ名前のクラスを宣言する。
                        {
                                public static string str 
                                {
                                        get
                                        {
                                                return "Name2SecondClass";
                                        }
                                }
                        }
                        static void Main(string[] args)
                        {       
                                Console.WriteLine("str = {0}", str);    
                                Console.WriteLine("TopClass.str = {0}", TopClass.str);
                                Console.WriteLine("Name1.TopClass.str = {0}", Name1.TopClass.str);
                                Console.WriteLine("Name1.TopClass.SecondClass.str = {0}", Name1.TopClass.SecondClass.str);
                                Console.WriteLine("TopClass.str = {0}", TopClass.str);
                                Console.WriteLine("Name2.TopClass.str = {0}", Name2.TopClass.str);
                                Console.WriteLine("Name1.Name2.TopClass.str = {0}", Name1.Name2.TopClass.str);
                                Console.WriteLine("Name1.Name2.TopClass.SecondClass.str = {0}", Name1.Name2.TopClass.SecondClass.str);
                        }
                }
        }
}

実行結果

Image

改定記録


日付コメント
2004/5/23全体デザイン再構成
2002/3/18初版作成