Functions.MemVarBlock 方法 | |
返回给定内存变量的设置-获取代码块。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION MemVarBlock(
cMemvarName AS STRING
) AS Object
public static Object MemVarBlock(
string cMemvarName
)
查看代码参数
- cMemvarName
- 类型:String
设置-获取块所指代的变量的名称。
返回值
类型:
Object
一个运行时代码块(实现为对象),当被评估时,设置(赋值)或获取(检索)
cMemvarName 的值。
如果
cMemvarName 不存在,MemVarBlock() 将返回 NULL_OBJECT。
备注
MemVarBlock() 创建的代码块有两个操作,具体取决于在评估代码块时是否传递了参数:
如果评估代码块时带有参数,则将该参数的值赋给
cMemvarName。
如果评估代码块时不带参数,则检索
cMemvarName 的值。
提示: |
---|
MemVarBlock() 仅为运行时已知的变量名创建设置-获取块。因此,MemVarBlock() 不能用于为局部或静态变量创建设置-获取块。
同样的限制适用于使用宏操作符 (&) 创建块。
|
备注 提示: |
---|
动态内存变量(PUBLIC、PRIVATE、PARAMETERS)仅在 X# 语言和运行时中用于兼容性。
在大多数情况下,类型可以和应该被替换为词法作用域变量,如 LOCAL 和 GLOBAL。
|
示例
此示例将 MemVarBlock() 与使用宏操作符 (&) 创建的代码块进行比较。请注意,使用 MemVarBlock() 可以避免宏操作符的速度和大小开销:
1PRIVATE var := "这是一个字符串"
2
3cbSetGet := &("{|setVal|;
4 如果(setVal = NIL, var, var := setVal)}")
5
6
7cbSetGet := MemVarBlock("var")
参见