以下定义可在代码中使用,编译器会用字面量值替换这些定义:
名称 |
类型 |
值 |
__ARRAYBASE__ |
Integer |
0 或 1,取决于 /az 编译器选项 |
__CLR2__ |
String 字面量 |
__CLR2__ (只是为了与 Vulcan 兼容,x# 没有实现 /clr 编译器选项)。参见下面的备注。 |
__CLR4__ |
String 字面量 |
__CLR4__ (只是为了与 Vulcan 兼容,x# 没有实现 /clr 编译器选项)。参见下面的备注。 |
__CLRVERSION__ |
String 字面量 |
"2 "或 "4",取决于版本。(仅为了与 Vulcan 兼容,x# 没有执行 /clr 编译器选项)。参见下面的备注。 |
__DATE__ |
String 字面量 |
当前日期,以 YYYYMMDD 格式表示 |
__DATETIME__ |
String 字面量 |
当前日期/时间的格式由地区设置决定 |
__DIALECT__ |
String |
当前方言的名称 |
__DIALECT_CORE__ |
Logical |
选择 Core 方言时定义为 TRUE |
__DIALECT_FOXPRO__ |
Logical |
选择 FoxPro 方言时定义为 TRUE |
__DIALECT_HARBOUR__ |
Logical |
选择 Harbour 方言时定义为 TRUE |
__DIALECT_VO__ |
Logical |
选择 VO 方言时定义为 TRUE |
__DIALECT_VULCAN__ |
Logical |
选择 Vulcan 方言时定义为 TRUE |
__DIALECT_XBASEPP__ |
Logical |
选择 Xbase++ 方言时定义为 TRUE |
__DEBUG__ |
Logical 字面量 |
在调试模式下编译时为 TRUE。在发布模式下未定义 |
__ENTITY__ |
String 字面量 |
当前实体名称 |
__FILE__ |
String 字面量 |
当前源文件名 |
__FOX2__ |
Logical |
FoxPro 兼容编译器选项 /fox2 的当前值 |
__FUNCTION__ |
String 字面量 |
当前函数/方法名称(不含类前缀)和原始情况下的名称 |
__FUNCTIONS__ |
String 字面量 |
返回当前函数类的名称 |
__HARBOUR__ |
Logic 字面量 |
当选择 Harbour 方言时为 TRUE。否则未定义。 |
__LINE__ |
String 字面量 |
当前源码行号 |
__MEMVAR__ |
Logical |
使用 /memvar 编译器选项时为 TRUE |
__MODULE__ |
String 字面量 |
当前源文件名 |
__SIG__ |
String 字面量 |
当前实体的签名 |
__SRCLOC__ |
String 字面量 |
源代码中的文件名和行号 |
__SYSDIR__ |
String 字面量 |
Systemdir(在开发者机器上) |
__TIME__ |
String 字面量 |
以 HH:mm:ss 格式表示的编译时间 |
__UNDECLARED__ |
Logical 字面量 |
使用/undeclared 编译器选项时为 TRUE |
__UNSAFE__ |
Logical 字面量 |
使用 /unsafe 编译器选项时为 TRUE |
__UTCTIME__ |
String 字面量 |
UTC 编译时间,格式为 HH:mm:ss |
__VERSION__ |
String 字面量 |
编译器版本 |
__VO__ |
Logic 字面量 |
当选择 VO 方言时为 TRUE。否则未定义。 |
__VO1__ , __VO2__ ... __VO17__ |
Logical |
|
__VULCAN__ |
Logic 字面量 |
当选择 Vulcan 方言时为 TRUE。否则未定义。 |
__WINDIR__ |
String 字面量 |
Windows 目录(在开发者机器上) |
__WINDRIVE__ |
String 字面量 |
Windows 驱动器(在开发者机器上) |
__XPP__ |
Logic 字面量 |
当选择 Xbase++ 方言时为 TRUE。否则未定义。 |
__XPP1__ |
Logical |
/xpp1 编译器选项的当前值。仅在 Xbase++ 方言中定义。 |
__XSHARP__ |
Logical 字面量 |
永远为 TRUE |
__XSHARP_RT__ |
Logical 字面量 |
根据 X# 运行时编译时为 TRUE。否则不定义。 |
X# 编译器通过查看 system.dll 或 mscorlib.dll 的版本来确定 CLR2 和 CLR4 的版本。