Try OpenEdge Now
skip to main content
ABL Reference
Class Properties and Methods Reference : DeclaringClass property
 

DeclaringClass property

Returns a Progress.Lang.Class instance representing the class in which the constructor, event, method, data member, or property is defined.
Data type: Progress.Lang.Class class
Access: PUBLIC Read-only
Applies to: Progress.Reflect.Event class, Progress.Reflect.Method class, Progress.Reflect.Variable class
When applied to a class member (method, property, or event) that is overridden, the DeclaringClass property returns the most-derived class containing the implementation of the member.
For example, consider the classes defined in the following code fragment:
CLASS ClassA:
METHOD PUBLIC VOID MethodA:
MESSAGE "A method has been called." VIEW-AS ALERT-BOX.
END METHOD.
END CLASS.

CLASS ClassB INHERITS ClassA:
END CLASS.

CLASS ClassC INHERITS ClassB:
METHOD PUBLIC OVERRIDE VOID MethodA:
MESSAGE "An overriden method has been called." VIEW-AS ALERT-BOX.
END METHOD.
END CLASS.
Calling GetMethod("MethodA", params) on instances of Progress.Lang.Class derived from each of the three classes would return Progress.Reflect.Method instances with the DeclaringClass properties set as shown in the table:
Progress.Lang.Class instance
Class indicated by the DeclaringClass property
ClassA
ClassA
ClassB
ClassA
ClassC
ClassC
See also: OriginatingClass property