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(编辑:雷林鹏 来源:网络)

  • 相关阅读:
    Latex文件如何拆分进行独立编译?
    梯度下降优化算法
    Google大脑科学家贾杨清(Caffe缔造者)-微信讲座
    Jeecg 如何执行批量insert或者update操作,高效率
    【JEECG_3.7.1】列表多表头的设计
    t:formvalid中定义callback函数
    Excel导入的时候日期格式会变成double式的String数据处理
    sql 跨表修改的方式
    js判断字符串str是否包含字符串substr
    帆软报表和jeecg的进一步整合--ajax给后台传递map类型的参数
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/10411999.html
Copyright © 2011-2022 走看看