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

  • 相关阅读:
    FC网络学习笔记02 -网络配置方法 分类: 网络基础 2013-10-10 09:43 765人阅读 评论(0) 收藏
    FC网络学习笔记01 分类: 网络基础 2013-10-10 09:42 865人阅读 评论(0) 收藏
    CPLD/FPGA厂商概述 . 分类: 硬件开发_FPGA 2013-10-09 16:54 539人阅读 评论(0) 收藏
    @property用法总结
    python的目录
    su
    os.path.join路径拼接
    python的类变量和对象变量[转]
    python的mutable变量与immutable变量
    dataframe操作
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/10411999.html
Copyright © 2011-2022 走看看