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

  • 相关阅读:
    [BTS2004]一步一步学习BizTalk2004 CBR(contentbased routing)
    [BTS06]BizTalk2006 SDK阅读笔记(六) 定义流程
    [JS]收藏
    [BTS06]BizTalk2006 SDK阅读笔记(七) 管理与监控
    [C#]关于调用Office应用程序后,程序不退出的问题
    [JS]让表单提交返回后保持在原来提交的位置上
    [BTS][收藏]啥时候用BTS,啥时候用WF,就看这里。
    [BTS06]BizTalk2006 SDK阅读笔记(一) 角色
    [BTS]BizTalk学习之Functoid篇(Database Lookup)
    [LCS]半个月的成果,用RTCClient开发的Robot!
  • 原文地址:https://www.cnblogs.com/pengpeng1208/p/10411999.html
Copyright © 2011-2022 走看看