Progress.Lang.Class class
- Last Updated: January 18, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
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
| Package property | SuperClass property | TypeName property |
Public Methods
Public Events
This class does not contain events.
Notes
- To obtain the object reference for the
Progress.Lang.Classinstance associated with a given ABL class or interface, you can use either theGetClass( )method or theGET-CLASSfunction:- You can use the
GetClass( )method either as an instance method on an ABL class (anyProgress.Lang.Objectinstance except a .NET type) or as a static method ofProgress.Lang.Classusing 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.Classinstance 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-CLASStakes a type name as its argument instead of a CHARACTER expression that holds a type name. As a result,USINGstatements can be applied to the argument, and the compiler checks the type name at compile time. UseGET-CLASSwith 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 can use the
- You cannot explicitly delete a
Progress.Lang.Classinstance. - 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 theProgress.Reflect.Constructor,Progress.Reflect.Event,Progress.Reflect.Method,Progress.Reflect.Property, andProgress.Reflect.Variableclasses. 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