.NET objects on the session object chain
- Last Updated: January 17, 2024
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation
The following figure shows how the session object chain, which is anchored to the SESSION system handle using the FIRST-OBJECT and LAST-OBJECT attributes, works for .NET objects. You can walk the session object chain for both ABL and .NET objects using the NEXT-SIBLING and PREV-SIBLING properties of Progress.Lang.Object.

Although .NET class instances appear on the ABL session
object chain, the actual working instance of each object that ABL
references is created in the .NET CLR. (For more information
on how this works, see GUI for .NET run-time architecture.) In addition, because all .NET classes
are subclasses of Progres.Lang.Object, for any .NET class
that has a member with the same name as a corresponding member defined
by Progres.Lang.Object, the .NET version
overrides the Progres.Lang.Object version. For
example, the ToString( ) method on the .NET System.Object always
overrides the ToString( ) method
on Progress.Lang.Object. Thus, .NET classes
in an ABL session follow all the same overriding rules as ABL classes.