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).
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:
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.
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.