$CLASSNAME (ObjectScript)
Synopsis
$CLASSNAME(oref)
Argument
| Argument | Description | 
|---|---|
| oref | Optional — An object reference (OREF) to an class instance. If omitted, the class name of the current class is returned. | 
Description
$CLASSNAME returns the name of a class. Commonly, it takes an object reference (OREF) and returns the corresponding class name. $CLASSNAME with no argument returns the name of the current class. $CLASSNAME always returns the full class name (for example, %SQL.Statement), not the short version of the class name omitting the package name (for example, Statement).
$CLASSNAME is functionally equivalent to the %ClassName(1)Opens in a new tab method of the %Library.BaseOpens in a new tab superclass. The $CLASSNAME function gives better performance than the %ClassName(1) method for returning the full class name. To return the short version of the class name, you can use either %ClassName() or %ClassName(0).
For information on OREFs, see OREF Basics.
Examples
The following example creates an instance of a class. $CLASSNAME takes the instance OREF and returns the corresponding class name:
   SET dynoref = ##class(%SQL.Statement).%New()
   WRITE "instance class name: ",$CLASSNAME(dynoref)In the following example, $CLASSNAME with no parameter returns the class name of the current class context. In this case, it is the DocBook.Utils class. This is the same class name contained in the $THIS special variable:
   WRITE "class context: ",$CLASSNAME(),!
   WRITE "class context: ",$THISThe following example shows that the $CLASSNAME function and the %ClassName(1) method return the same values. It also shows use of the %ClassName() method (with no argument or with a 0 argument) to return the short version of the class name:
CurrentClass
   WRITE "current full class name: ",$CLASSNAME(),!
   WRITE "current full class name: ",..%ClassName(1),!
   WRITE "current short class name: ",..%ClassName(0),!
   WRITE "current short class name: ",..%ClassName(),!!
ClassInstance
   SET x = ##class(%SQL.Statement).%New()
   WRITE "oref full class name: ",$CLASSNAME(x),!
   WRITE "oref full class name: ",x.%ClassName(1),!
   WRITE "oref short class name: ",x.%ClassName(0),!
   WRITE "oref short class name: ",x.%ClassName()See Also
- 
$CLASSMETHOD function 
- 
$METHOD function 
- 
$PARAMETER function 
- 
$PROPERTY function 
- 
$THIS special variable