Progress.Reflect.Flags enumeration
- Last Updated: January 18, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
This enumeration describes the type of class members you want as results from GetConstructor(), GetConstructors(), GetEvent(), GetEvents(), GetMethod(), GetMethods(), GetProperty(), GetProperties(), GetVariable(), or GetVariables(). Because Progress.Reflect.Flags is a flag enumeration, multiple flags can be set at one time.
This class is FINAL and cannot be inherited.
Serializable:
Yes
Super Class
Members
| Member | Description |
|---|---|
Public |
Returns public class members. |
PackageProtected |
Returns package-protected class members. |
Protected |
Returns protected class members. |
PackagePrivate |
Returns package-private class members. |
Private |
Returns private class members. |
Static |
Returns static class members. |
Instance |
Returns instance class members. |
DeclaredOnly |
Returns class members only declared on the given class type, excluding inherited members. |
Public Methods
| GetEnum( ) method | SetFlag( ) method |
| ToggleFlag( ) method | UnsetFlag( ) method |
Notes
- The members for
Progress.Reflect.Flagscan be thought of as three groups:- Access mode flags:
Public,PackageProtected,Protected,PackagePrivate,Private - Scope flags:
Static,Instance - Class-level flags:
DeclaredOnly
GetConstructor()method, which will raise an error if theStaticflag is set. See the GetConstructor( ) method entry for details.) - Access mode flags:
- You can specify more than one flag from the access mode and scope groups. For example, setting both
PublicandPrivateflags for use withGetMethods()will return all methods that are either public or private as long as they satisfy any other criteria you indicate. - By default, a method used with a
Progress.Reflect.Flagsparameter will return class members from the entire class hierarchy unlessDeclaredOnlyis specified. (The exception to this is theGetConstructor()method, which will not return a super class's constructor. See the GetConstructor( ) method entry for details.) - Use bitwise OR to set multiple flags. This code fragment will set a
Progress.Reflect.Flagsinstance to be used to indicate public, static class members:DEFINE VARIABLE myFlags AS Progress.Reflect.Flags. myFlags = Progress.Reflect.Flags:Public OR Progress.Reflect.Flags:Static.Alternatively, use
SetFlag( )to set multiple flags. The following code achieves the same result as the previous example:DEFINE VARIABLE myFlags AS Progress.Reflect.Flags. myFlags = Progress.Reflect.Flags:Public. myFlags = myFlags:SetFlag(Progress.Reflect.Flags:Static).