Functions.FieldBlockSym 方法 | |
返回一个用于通过符号标识的字段的设置-获取代码块。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION FieldBlockSym(
symFieldName AS SYMBOL
) AS Codeblock
public static Codeblock FieldBlockSym(
__Symbol symFieldName
)
查看代码参数
- symFieldName
- 类型:__Symbol
一个作为设置-获取块引用的字段名称的符号。当带参数执行时,此函数创建的代码块将参数的值赋给 symFieldName。
如果省略参数,代码块将获取 symFieldName 的值。
返回值
类型:
Codeblock
一个运行时代码块(实现为对象),当求值时,设置(赋值)或获取(检索)给定字段的值。
如果
symFieldName 在当前工作区不存在,FieldBlockSym() 返回 NULL_OBJECT。
备注
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
注意,指定的字段变量在创建代码块时不必存在,但必须在执行代码块之前存在。
提示: |
---|
工作区:
FieldBlockSym() 返回的代码块在运行时设置或获取当前工作区中指定字段的值。
例如,给定工作区1和2,都包含字段FName:
1DBSetSelect(1)
2_FIELD->FName := "Kate"
3DBSetSelect(2)
4_FIELD->FName := "Cindy"
5cbFName := FieldBlockSym(#FNAME)
6DBSetSelect(1)
7? EVAL(cbFName)
8DBSetSelect(2)
9? EVAL(cbFName)
使用 FieldWBlock() 为特定工作区的字段提供设置-获取块。
|
示例
此示例比较了 FieldBlockSym() 与使用宏运算符创建的代码块。注意,使用 FieldBlockSym() 避免了宏运算符的速度和大小开销:
1
2cbSetGet := &("{|SetVal| If(SetVal == NIL, FName, FName := SetVal)}")
3
4String2Symbol("FName")
5cbSetGet := FieldBlockSym(#FNAME)
参见