Www.helper3.com
热门关键字: php net javascript java
CSharp基础 专题
专题目录
您的位置:csharp > CSharp基础 专题 > C#命名空间
C#命名空间
作者:--    发布时间:2019-11-20 10:27:33

命名空间旨在提供一种将一组名称与另一组名称分开的方法。在一个命名空间中声明的类名称与在另一个命名空间中声明的相同类名称不冲突。

定义命名空间

命名空间定义以关键字namespace开头,后跟命名空间名称如下:

namespace namespace_name
{
   // code declarations
}

要调用命名空间启用的任一函数或变量的版本,请按如下所示使用命名空间名称指定:

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类是在system命名空间中定义的,所以只简写为:

console.writeline ("hello there");

可以把完整的名称写成:

system.console.writeline("hello there");

还可以使用using namespace伪指令避免前缀命名空间。该指令告诉编译器后续代码正在使用指定命名空间中的名称。因此,命名空间隐含在以下代码中:

下面重写我们重写前面的例子,使用以下代码中的指令:

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
{
   // code declarations
   namespace namespace_name2
   {
      // code declarations
   }
}

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

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

所有评论

loading......

滚动到顶部 滚动到底部
合作联系(微信):
www.helper3.com
关于本站:
宗旨
网站备案号:
粤ICP备17073857号-1

声明:
本站部分内容来自网络,如您发现本站内容侵害到您的利益,请联系本站管理员处理。