• 了解C#命名空間


    一、C#命名空間
        C#命名空間用來定義類的範的範圍,每個命名空間都包含可在程序中使用的類型:類,結構、枚舉、委托和接口。使用using引用命名空間,如常用的using System;
    使用嵌套命名空間時,需要使用全路徑

    二、使用命名空間的好處
         代碼可分佈在多個文件中
         命名空間具有擴展性
         可以堆砌出層次式的類組織結構

    三、代碼可分佈在多個文件中
           相同的命名空間可以分布在不同的文件中,如下面代碼中的CG命名空間分佈在namespace.cs和namespace01.cs兩個文件中,這兩個文件共同組合成一個命名空間CG
           注:嵌套類只能在同一文件中,不可以跨不同文件

    namespace.cs文件代碼:
    using System;
    namespace CG
    {
        
    class test
        {
            
    static void Main()
            {
                PrintName pn
    =new PrintName();
                pn.intro();
            }
        }
    }

    namespace01.cs文件代碼:
    using System;
    namespace CG
    {
        
    public class PrintName
        {
            
    public void intro()
            {
                Console.WriteLine(
    "My name is A");
            }
        }
    }

    四、命名空間具有擴展性
        上例中兩個命名空間,分布在不同的文件中,我們變更其中一個文件而不會影響另一個文件。這個命名空間更具有擴展性。如:將上例中副命名空間產生成Dll文件,主命令空間引用此Dll。當副命名空單變更時,主命名空間不需要重新編譯,即可得到結果。
    注:
    4.1編輯主副文件方法:
        csc 主cs文件 副cs文件
    如下命令:
        csc 
    namespace.cs namespace01.cs

    4.2生成類庫的方法:
        csc /target:library  cs文件(創建Dll文件)
    如下命令:
        csc 
    /target:library namespace.cs

    4.3主文件與類庫關聯的方法
        csc /reference:引用的類庫 主文件名 
    如下命令
        csc 
    /reference:namespace01.dll namespace.cs

    五、可以堆砌出層次式的類組織結構
        如下面代碼中的A.A1;A.A2兩個命名空單,這樣更容易分組與管理
    using System;
    namespace CG
    {
        
    class test
        {
            
    static void Main()
            {
                A.A1.PrintName a
    =new A.A1.PrintName();
                a.intro();
                A.A2.PrintName b
    =new A.A2.PrintName();
                b.intro();
                Console.ReadLine();
            }
        }
    }
    namespace A
    {
        
    namespace A1
        {
            
    public class PrintName
            {
                
    public void intro()
                {
                    Console.WriteLine(
    "My name is A");
                }
            }
        }
        
    namespace A2
        {
            
    public class PrintName
            {
                
    public void intro()
                {
                    Console.WriteLine(
    "My name is B");
                }
            }        
        }
    }

    六、命名空間別名(Alies)
        使用別名可以程序更簡捷
    使用方法:
        using 別名=命名空間

    如下面源代碼與變更后代碼對比:

    源:
    using System;
    namespace CG
    {
        
    class test
        {
            
    static void Main()
            {
                ParentNameSpace.ChildNameSpace.PrintName a
    =new ParentNameSpace.ChildNameSpace.PrintName();
                a.intro();
                Console.ReadLine();
            }
        }

    }
    namespace ParentNameSpace
    {
        
    namespace ChildNameSpace
        {
            
    public class PrintName
            {
                
    public void intro()
                {
                    Console.WriteLine(
    "My name is A");
                }
            }
        }
    }

    此代碼變成別名形式為:


    using System;
    using MySpace=ParentNameSpace.ChildNameSpace;
    namespace CG
    {
        
    class test
        {
            
    static void Main()
            {
                MySpace.PrintName a
    =new MySpace.PrintName();
                a.intro();
                Console.ReadLine();
            }
        }

    }
    namespace ParentNameSpace
    {
        
    namespace ChildNameSpace
        {
            
    public class PrintName
            {
                
    public void intro()
                {
                    Console.WriteLine(
    "My name is A");
                }
            }
        }
    }

  • 相关阅读:
    hadoop-2.6.0-src源码导入Eclipse 转载
    sqoop1.4.6+hadoop2.6.0 转载
    eclipse构建maven+scala+spark工程 转载
    eclipse连hadoop2.x运行wordcount 转载
    Thinking in BigData 系列
    hadoop 安装教程 转载
    JAVA泛型详解2 转载
    Java泛型详解 转载
    HttpClient 版本变化 转载
    HttpClient 与 HtmlParser 简介 转载
  • 原文地址:https://www.cnblogs.com/scottckt/p/1140227.html
Copyright © 2020-2023  润新知