Show/Hide Toolbars

XSharp

用途

BEGIN NAMESPACEEND NAMESPACE 关键字对声明了一个作用域,并为该作用域内声明的所有类型添加了命名空间前缀

 

语法

 BEGIN NAMESPACE namespaceName  
         typeDeclarations  
         namespaceDeclarations
 END NAMESPACE

参数

 

namespaceName声明的命名空间名称。
typeDeclarations 一个或多个类型声明(CLASS、STRUCTURE 等)。
namespaceDeclarations 零个或多个命名空间声明。

 

 

在命名空间范围内声明的任何类型,其类型名称前都会加上命名空间名称。例如,在名为 “MyNamespace ”的命名空间中声明的名为 “MyClass ”的类,其类型名称为 “MyNamespace.MyClass”。

 

在任何命名空间范围之外声明的类型都在 “global(全局) ”或 “unnamed(未命名) ”命名空间中声明。

 

BEGIN NAMESPACE ... END NAMESPACE 块可以嵌套到任意深度。嵌套的命名空间名称会以包围的命名空间名称为前缀,中间用(英文)句号隔开。

 

同一命名空间名称可以在同一文件或不同文件中声明多次。BEGIN NAMESPACEEND NAMESPACE 语句不会生成任何代码,它们只会影响命名空间块中声明的任何类型的名称。

 

在命名空间中出现的 using 指令只在包围命名空间块和任何嵌套命名空间块中有效。

兼容性说明:

使用 Transporter 从 Visual Objects 移植到 Vulcan.NET 的代码不会被放置在任何 BEGIN NAMESPACE ... END NAMESPACE 块中,因为 Visual Objects 没有命名空间的概念。因此,传输代码中的所有类都在 global(全局)或 “unnamed(未命名) ”命名空间中,并且没有预置命名空间名称。

 

示例

 
BEGIN NAMESPACE a
 
  CLASS one           // 实际类型名称为 'a.one'
     ...
  END CLASS
 
  BEGIN NAMESPACE b   // 命名空间的名称是 'a.b'
 
      CLASS two       // 实际类型名称为 'a.b.two'
         ...
      END CLASS
 
  END NAMESPACE
 
END NAMESPACE
 
CLASS three           // 实际类型名称为 'three'
  ...
END CLASS