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