Try OpenEdge Now
skip to main content
GUI for .NET Programming
Accessing and Managing .NET Classes from ABL : Defining ABL-extended .NET objects : Deriving .NET classes in ABL : Accessing inherited members of a .NET base class
Accessing inherited members of a .NET base class
Similar to accessing inherited members of an ABL base class, you can access inherited members of a .NET base class by referencing the member name and any other required member syntax as described in the following reference entries from OpenEdge Development: ABL Reference:
*Class-based data member access
*Class-based method call
*Class-based property access
*Publish( ) event method (to publish abstract .NET events that you implement in ABL)
*Subscribe( ) event method
*Unsubscribe( ) event method
Caution: You cannot reliably access .NET super class members from a destructor of your ABL-derived class, because when the destructor executes .NET garbage collection might already have deleted the .NET components of your class.
Although you can make a naked reference to any inherited member name, prefixing an instance member name with the THIS-OBJECT system reference or prefixing a static member name with the type name of the defining class (static type-name reference) can help both readability and in distinguishing references to inherited and local class members from references to local constructor and method data elements of the same name. Also, as with inherited ABL class members, if an inherited .NET class member happens to have a name that is identical with an ABL reserved keyword, you must appropriately prefix the member name with either the THIS-OBJECT system reference or a static type-name reference when you reference the instance or static .NET member, respectively.