点击或拖拽改变大小

Functions.MemVarBlock 方法

X#
返回给定内存变量的设置-获取代码块。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION MemVarBlock(
	cMemvarName AS STRING
) AS Object
查看代码

参数

cMemvarName
类型:String
设置-获取块所指代的变量的名称。

返回值

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