C#语法手册

namespace 关键字与命名空间


namespace 关键字用于声明包含一组相关对象的作用域。 可以使用命名空间来组织代码元素并创建全局唯一类型。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


//#csg002-01
//一个命名空间下可以包含零个或多个类,接口,结构,枚举,委托以及另一个命名空间
//命名空间隐式具有公共访问权限,这是不可修改的。
namespace SampleNamespace
{
    class SampleClass { }

    interface ISampleInterface { }

    struct SampleStruct { }

    enum SampleEnum { a, b }

    delegate void SampleDelegate(int i);

    namespace Nested
    {
        class SampleClass2 { }
    }
}

//#csg002-02
//可以在两个或多个声明中定义一个命名空间。
//例如,下面的示例将两个类定义为 MyCompany.Proj1 命名空间的一部分
namespace MyCompany.Proj1
{
    class MyClass
    {
    }
}

namespace MyCompany.Proj1
{
    class MyClass1
    {
        
    }
}



//#csg002-03
//命名空间可以嵌套,访问时使用 . 运算符分隔。
namespace MyNameSpace2
{

    namespace Proj3
    {
        class ClassB
        {

        }
    }

}

namespace MyNameSpace
{
    public class ClassC
    {
        public ClassC()
        {
            var b = new MyNameSpace2.Proj3.ClassB();
        }

    }

}