点击或拖拽改变大小

Functions.FieldBlockSym 方法

X#
返回一个用于通过符号标识的字段的设置-获取代码块。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION FieldBlockSym(
	symFieldName AS SYMBOL
) AS Codeblock
查看代码

参数

symFieldName
类型:__Symbol
一个作为设置-获取块引用的字段名称的符号。当带参数执行时,此函数创建的代码块将参数的值赋给 symFieldName
如果省略参数,代码块将获取 symFieldName 的值。

返回值

类型:Codeblock
一个运行时代码块(实现为对象),当求值时,设置(赋值)或获取(检索)给定字段的值。
如果 symFieldName 在当前工作区不存在,FieldBlockSym() 返回 NULL_OBJECT。
备注
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
注意,指定的字段变量在创建代码块时不必存在,但必须在执行代码块之前存在。
提示 提示:
工作区:
FieldBlockSym() 返回的代码块在运行时设置或获取当前工作区中指定字段的值。
例如,给定工作区1和2,都包含字段FName:
X#
1DBSetSelect(1)
2_FIELD->FName := "Kate"
3DBSetSelect(2)
4_FIELD->FName := "Cindy"
5cbFName := FieldBlockSym(#FNAME)
6DBSetSelect(1)
7? EVAL(cbFName)                        // "Kate"
8DBSetSelect(2)
9? EVAL(cbFName)                        // "Cindy"
使用 FieldWBlock() 为特定工作区的字段提供设置-获取块。
示例
此示例比较了 FieldBlockSym() 与使用宏运算符创建的代码块。注意,使用 FieldBlockSym() 避免了宏运算符的速度和大小开销:
X#
1// 使用宏运算符定义的设置-获取块
2cbSetGet := &("{|SetVal| If(SetVal == NIL, FName, FName := SetVal)}")
3// 使用 FieldBlockSym() 定义的设置-获取块
4String2Symbol("FName")
5cbSetGet := FieldBlockSym(#FNAME)
参见