C#学习笔记——名称空间

C#代码包含在全局名称空间中,使用namespace关键字为花括号中的代码块显示定义名称空间。

  • 包含在这段代码中的项,全局名称空间的其他代码通过名称进行引用,就可以访问。
  • 该名称空间外部的代码使用名称空间的名称,必须写出该名称空间的限定名称

限定名称:包含全部的分层信息。一个名称空间的代码引用另一个名称空间中定义的名称,则必须包括该名称空间的引用。

举例:

namespace LevelOne
{
    // name "NameOne" defined
    
    //此命名空间直接使用NameOne引用
}

//code in global namespace
//全局名称空间使用LevelOne.NameOne引用这个名称
namespace LevelOne
{
    //引用LevelTwo.NameTwo
    namespace LevelTwo    
    {
        //name "NameTwo" defined

    }

}

//code in global namespace
//引用LevelOne.LevelTwo.NameTwo

名称是由名称空间唯一定义的。可在不同名称空间中定义相同的名称

namespace LevelOne
{
    //name NameThree defined
    namespace LevelTwo
    {
        //name NameThree defined
    }
}

//引用 LevelOne.NameThree和LevelOne.LevelTwo.NameThree

using语句的使用

  • 简化对所包含名称的访问。

举例:

namespace LevelOne
{
    using LevelTwo; //引用NameTwo
    
    namespace LevelTwo    
    {
        //name "NameTwo" defined

    }

}
  • 避免不同名称空间的相同名称产生冲突,using可为名称空间提供一个别名
namespace LevelOne
{
    using LT=LevelTwo;
    //引用LT.NameThree
    //name NameThree defined

    namespace LevelTwo
    {
        //name NameThree defined
    }
}

注意:

using语句本身不能访问另一个名称空间中的名称。除非名称空间的代码以某种方式链接到项目上,或者是大妈是在该项目的源文件中定义的,或者是在链接到该项目的其他代码中定义的,否则就不能访问其中包含的名称。另外,如果包含名称空间的代码链接到项目上,那么无论是否使用using都可以访问其中包含的名称。


猜你喜欢

转载自blog.csdn.net/weixin_41522174/article/details/88966033
今日推荐