Try OpenEdge Now
skip to main content
ABL Reference
Class, Interface, and Enumeration Reference : Progress.Lang.Class class
 

Progress.Lang.Class class

Progress.Lang.Class provides type information about an ABL class or an interface. ABL provides a Progress.Lang.Class instance for each ABL class or interface type in the ABL session.
This class is FINAL and cannot be inherited.

Serializable:

No

Constructors

This class contains only a private constructor; you cannot instantiate it directly.

Super Class

Progress.Lang.Object class

Interfaces

This class does not implement interfaces (beyond those it inherits from its base class).

Public Properties

Public Methods

Public Events

This class does not contain events.

Notes

*To obtain the object reference for the Progress.Lang.Class instance associated with a given ABL class or interface, you can use either the GetClass( ) method or the GET-CLASS function:
*You can use the GetClass( ) method either as an instance method on an ABL class (any Progress.Lang.Object instance except a .NET type) or as a static method of Progress.Lang.Class using the following syntax:
class-reference = object-reference:GetClass ( ).
class-reference = Progress.Lang.Class:GetClass ( expression ).
Where object-reference is the object reference to an ABL class instance for which you want to get the type information, expression is a CHARACTER expression that specifies the fully-qualified ABL object type name whose type information you want to get, and class-reference is the object reference for the Progress.Lang.Class instance containing that type information. For example:
DEFINE VARIABLE myCustObj AS Progress.Lang.Object NO-UNDO.
DEFINE VARIABLE myType AS Progress.Lang.Class NO-UNDO.

ASSIGN
myType = Progress.Lang.Class:GetClass("acme.myObjs.CustObj")
myCustObj = myType:New( ).
*Unlike the GetClass() method, GET-CLASS takes a type name as its argument instead of a CHARACTER expression that holds a type name. As a result, USING statements can be applied to the argument, and the compiler checks the type name at compile time. Use GET-CLASS with the following syntax:
GET-CLASS( object-type-name )
Where object-type-name is the type name of a class or interface, using the syntax described in the Type-name syntax reference entry.
*You cannot explicitly delete a Progress.Lang.Class instance.
*You can obtain additional information about a class's members using the Get methods listed above (e.g., GetConstructor( ), GetMethods( )) as well as the properties and methods of the Progress.Reflect.Constructor, Progress.Reflect.Event, Progress.Reflect.Method, Progress.Reflect.Property, and Progress.Reflect.Variable classes. See the entry of each class for more information.

See also

GET-CLASS function, Progress.Reflect.Constructor class, Progress.Reflect.Event class, Progress.Reflect.Method class, Progress.Reflect.Property class, Progress.Reflect.Variable class