收藏

第三十六章 Objects - 有用的 ObjectScript

2023-09-23  本文已影响0人  Cache技术分享

第三十六章 Objects - 有用的 ObjectScript 函数

有用的 ObjectScript 函数

ObjectScript 提供以下与对象类一起使用的函数:

TESTNAMESPACE>set class="Sample.Person"
 
TESTNAMESPACE>set obj=$CLASSMETHOD(class,"%OpenId",1)
 
TESTNAMESPACE>w obj.Name
Van De Griek,Charlotte M.

当需要编写执行类方法的通用代码,但事先不知道类名(甚至方法名)时,此函数非常有用。例如:

 //read name of class from imported document
 Set class=$list(headerElement,1) 
 // create header object
 Set headerObj=$classmethod(class,"%New")

其他功能在类似场景中也很有用。

TESTNAMESPACE>set obj=##class(Sample.Person).%OpenId(1)
 
TESTNAMESPACE>do $METHOD(obj,"PrintPerson")
 
Name: Van De Griek,Charlotte M.
TESTNAMESPACE>set obj=##class(Sample.Person).%OpenId(2)
 
TESTNAMESPACE>write $property(obj,"Name")
Edison,Patrick J.
TESTNAMESPACE>set obj=##class(Sample.Person).%OpenId(2)
 
TESTNAMESPACE>write $parameter(obj,"EXTENTQUERYSPEC")
Name,SSN,Home.City,Home.State
TESTNAMESPACE>set obj=##class(Sample.Person).%OpenId(1)
 
TESTNAMESPACE>write $CLASSNAME(obj)
Sample.Person

如果没有参数,该函数返回当前上下文的类名。这在实例方法中很有用。

上一篇 下一篇

猜你喜欢

热点阅读