zoukankan      html  css  js  c++  java
  • 雷林鹏分享:C# 命名空间(Namespace)

      C# 命名空间(Namespace)

      命名空间的设计目的是为了提供一种让一组名称与其他名称分隔开的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突。

      定义命名空间

      命名空间的定义是以关键字 namespace 开始,后跟命名空间的名称,如下所示:

      namespace namespace_name

      {

      // 代码声明

      }

      为了调用支持命名空间版本的函数或变量,会把命名空间的名称置于前面,如下所示:

      namespace_name.item_name;

      下面的程序演示了命名空间的用法:

      using System;

      namespace first_space

      {

      class namespace_cl

      {

      public void func()

      {

      Console.WriteLine("Inside first_space");

      }

      }

      }

      namespace second_space

      {

      class namespace_cl

      {

      public void func()

      {

      Console.WriteLine("Inside second_space");

      }

      }

      }

      class TestClass

      {

      static void Main(string[] args)

      {

      first_space.namespace_cl fc = new first_space.namespace_cl();

      second_space.namespace_cl sc = new second_space.namespace_cl();

      fc.func();

      sc.func();

      Console.ReadKey();

      }

      }

      当上面的代码被编译和执行时,它会产生下列结果:

      Inside first_space

      Inside second_space

      using 关键字

      using 关键字表明程序使用的是给定命名空间中的名称。例如,我们在程序中使用 System 命名空间,其中定义了类 Console。我们可以只写:

      Console.WriteLine ("Hello there");

      我们可以写完全限定名称,如下:

      System.Console.WriteLine("Hello there");

      您也可以使用 using 命名空间指令,这样在使用的时候就不用在前面加上命名空间名称。该指令告诉编译器随后的代码使用了指定命名空间中的名称。下面的代码延时了命名空间的应用。

      让我们使用 using 指定重写上面的实例:

      using System;

      using first_space;

      using second_space;

      namespace first_space

      {

      class abc

      {

      public void func()

      {

      Console.WriteLine("Inside first_space");

      }

      }

      }

      namespace second_space

      {

      class efg

      {

      public void func()

      {

      Console.WriteLine("Inside second_space");

      }

      }

      }

      class TestClass

      {

      static void Main(string[] args)

      {

      abc fc = new abc();

      efg sc = new efg();

      fc.func();

      sc.func();

      Console.ReadKey();

      }

      }

      当上面的代码被编译和执行时,它会产生下列结果:

      Inside first_space

      Inside second_space

      嵌套命名空间

      命名空间可以被嵌套,即您可以在一个命名空间内定义另一个命名空间,如下所示:

      namespace namespace_name1

      {

      // 代码声明

      namespace namespace_name2

      {

      // 代码声明

      }

      }

      您可以使用点(.)运算符访问嵌套的命名空间的成员,如下所示:

      using System;

      using first_space;

      using first_space.second_space;

      namespace first_space

      {

      class abc

      {

      public void func()

      {

      Console.WriteLine("Inside first_space");

      }

      }

      namespace second_space

      {

      class efg

      {

      public void func()

      {

      Console.WriteLine("Inside second_space");

      }

      }

      }

      }

      class TestClass

      {

      static void Main(string[] args)

      {

      abc fc = new abc();

      efg sc = new efg();

      fc.func();

      sc.func();

      Console.ReadKey();

      }

      }

      当上面的代码被编译和执行时,它会产生下列结果:

      Inside first_space

      Inside second_space

      本文转载自:w3cschool(编辑:雷林鹏 来源:网络)

  • 相关阅读:
    可爱的中国电信 请问我们的电脑还属于我们自己吗?
    了解客户的需求,写出的代码或许才是最优秀的............
    DELPHI DATASNAP 入门操作(3)简单的主从表的简单更新【含简单事务处理】
    用数组公式获取字符在字符串中最后出现的位置
    在ehlib的DBGridEh控件中使用过滤功能(可以不用 MemTableEh 控件 适用ehlib 5.2 ehlib 5.3)
    格式化json返回的时间
    ExtJs中使用Ajax赋值给全局变量异常解决方案
    java compiler level does not match the version of the installed java project facet (转)
    收集的资料(六)ASP.NET编程中的十大技巧
    收集的资料共享出来(五)Asp.Net 权限解决办法
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/10411999.html
Copyright © 2011-2022 走看看