Show/Hide Toolbars

XSharp

 

对于名称中没有明确命名空间的所有类型,-ns 选项会明确指定默认命名空间。

语法

-ns[: ]namespaceName

参数

namespaceName 应用程序或类库中声明的所有类型的默认命名空间名称。

备注

如果未指定 -ns 选项,则未以命名空间为前缀的类型和未在 BEGIN NAMESPACE ... END NAMESPACE 结构中的类型将被编译为所谓的全局类型。

 

-ns 选项适用于以下类型:

 

接口

结构体

虚结构体

委托

 

命名空间名称必须遵循与程序标识符相同的规则:必须以一个大写或小写字母或下划线开头,然后是零个或多个大写或小写字母、数字或下划线。所有其他字符都是非法字符,编译时会出错。

 

对于名称中没有明确命名空间的已声明类型,将使用默认命名空间。

 

要在 Visual Studio 开发环境中设置该编译器选项,请执行以下操作

 

1.打开项目的 "属性"页面

2.点击 Language 选项卡

3.编辑 “Prefix classes with Default Namespace(使用默认命名空间为类加前缀)”属性

4.查看属性页

5.然后,生成系统会生成一个命令行选项,将此属性与项目属性的Application 选项卡上指定的默认命名空间结合起来

示例

 

在不使用 -ns 编译器选项的情况下编译以下代码时,将产生以下类型:

 

Customer

Point

MyProject.Customer

MyProject.Data.Customer

 

CLASS Customer
.
.
END CLASS
 
STRUCT Point
.
.
END STRUCT
 
ENUM CustomerType
.
END ENUM
 
CLASS MyProject.Customer
.
.
END CLASS
 
 
BEGIN NAMESPACE MyProject.Data
CLASS Customer
.
.
END CLASS
END NAMESPACE
 

 

 

如果使用 -ns:MyNameSpace 选项编译相同的代码,将产生以下类型:

 

MyNameSpace.Customer

MyNameSpace.Point

MyProject.Customer

MyProject.Data.Customer