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都可以访问其中包含的名称。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值