文章目录

  • 第十八章 Caché 变量大全 $THIS 变量
  • 大纲
  • 描述

 

 
第十八章 Caché 变量大全 $THIS 变量

包含当前类上下文。

大纲
$THIS
描述

$THIS包含当前的类上下文。实例方法的类上下文是当前对象引用(OREF)。类方法的类上下文是作为字符串值的当前类名。例如,如果从类方法中发出命令DO ..method()或SET ..property = value,则使用$THIS的当前值来解析..上下文。在对象实例内进行引用时,首选相对点语法(..)。

$THIS通常在对象实例内并且调用另一个对象上的函数时使用。在这种情况下,可以使用$THIS将当前类上下文传递给该函数,以便它可以将值返回给当前对象实例。

当$THIS不包含有效的对象引用时,Caché返回<NO CURRENT OBJECT>错误。

$THIS可以在以下环境中使用:

SET x = ##class(otherclassname).method($THIS)

DO ##class(superclass)$THIS.method(args)

不能使用SET命令将此特殊变量设置为值。尝试这样做会导致<FUNCTION>错误。