Show/Hide Toolbars

XSharp

 

-vo10选项使IIF运算符的运行方式与 Visual Objects (方言)对象兼容

语法

-vo10[+|-]

参数

+ | - 指定 + 或只指定 -vo10,会使 IIF 运算符的行为与 Visual Objects 中的行为相同。

备注

如果 IIF 运算符中的 true 和 false 表达式不相同,或者其中一个表达式无法隐式转换为另一个表达式的类型,编译器将引发错误。

 

Visual Objects 允许这样做,它会将两个表达式隐式转换为 USUAL,从而使 IIF 表达式也返回 USUAL。这既不安全也不高效,但最初用 Visual Objects 编写的代码可能依赖于这种行为,如果不使用 -vo10,运行时可能会出错。

LOCAL x as LOGIC
x := TRUE
? IIF( x, 1, "Sunday")

当您使用 -vo10 编译器选项时,编译器会将其转换为:

? IIF( x, (USUAL)1,  (USUAL) "Sunday")     // 针对 VO 和 Vulcan 方言

? IIF( x, (OBJECT)1,  (OBJECT) "Sunday")     // 针对 Core 方言

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

 

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

2.点击 Dialect 选项卡

3.更改值

4.查看属性页