命名空间的使用

引用

using LT = LevelOne.LevelTwo; 
namespace LevelOne 
{
// name "NameThree" defined
    namespace LevelTwo 
    {
    // name "NameThree" defined 
    }
}

全局名称空间中的代码和LevelOne名称空间中的代码就可以使用LT.NameThree。
需要注意特别重要的一点:using语句本身不能访问另一个名称空间中的名称。除非名称空间中 的代码以某种方式链接到项目上,或者代码是在该项目的源文件中定义的,或者链接到该项目的其 他代码中定义的,否则就不能访问其中包含的名称。到外,如果包含名称空间的代码链接到项目上, 无论是否使用using,都可以访问其中包含的名称。using语句便于我们访问这些名称,减少代码量,
以及提高可读性。

实际测试

namespace _002.命名空间二
{
    using _002.名称空间.Z.A.B;
    class C
    {
        public static void Main()
        {
            D d = new D();//这里不会调用A命名空间中的D类,如果C命名空间没有D类,那么会调用B命名空间中的D类。
            d.Print();
        }
    }
    class D
    {
        public void Print()
        {
            Console.WriteLine("这里是命名空间D");
        }
    }
}



namespace _002.名称空间
{
        namespace Z
        {
            class D
            {
                public void Print()
                {
                    Console.WriteLine("这里是命名空间Z");
                }
            }
             namespace A
            {
                class D
                {
                    public void Print()
                    {
                        Console.WriteLine("这里是命名空间A");
                    }
                }
            namespace B
                {
                    class E
                    {
                        public static void Print()//如果这里改成Main方法,B中没有D类,那么自动调用A命名空间中D类,A中没有D自动调用Z命名空间中的D类
                        {
                            D d = new D();
                            d.Print();
                            Console.WriteLine("________________________");
                        }
                    }
                class D
                {
                    public void Print()
                    {
                        Console.WriteLine("这里是命名空间B");
                    }
                }
            }
            }
        }
}

总结

  • 在using时

    • 命名空间之间的嵌套优先使用级:本空间->using中的最后一个空间
    • 不会使用using最后一个空间的上级空间
  • 在命名空间的定义时

    • 命名空间之间的嵌套优先使用级:本空间->上级逐层
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值