我读过一些关于语法->*
的文档,但我仍然不明白。有人能解释一下它的含义以及在什么场景下我可以使用它吗?
我在这个例子中有这样的语法:
assign ovs_callback_object->query_parameters->* to <ls_query_params> CASTING.
refvar->*
用于取消引用非结构化引用变量。对于结构化引用,可以使用structref->component
访问被引用对象的组件(对象的属性或结构的组件)。如果您有类似TYPE REF TO i
的东西,则没有内部结构,因此您必须使用特殊语法->*
。这都在文档中。。。
->*
运算符是"取消引用"运算符。它将TYPE REF TO something
转换为TYPE something
。
在您的示例中,ovs_callback_object->query_parameters
可能是一个引用,但您不想将引用分配给字段符号,而是想将引用点分配给实际字段。