Try OpenEdge Now
skip to main content
ABL Reference
Class, Interface, and Enumeration Reference : Progress.Reflect.Flags enumeration
 

Progress.Reflect.Flags enumeration

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

Progress.Lang.FlagsEnum class

Members

Member
Description
Public
Returns public class members.
Protected
Returns protected 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

Notes

*The members for Progress.Reflect.Flags can be thought of as three groups:
*Access mode flags: Public, Protected, Private
*Scope flags: Static, Instance
*Class-level flags: DeclaredOnly
*No results will be returned unless you're using at least one flag from the access mode set and one flag from the scope set are indicated. (The exception to this is the GetConstructor() method, which will raise an error if the Static flag is set. See the GetConstructor( ) method entry for details.)
*You can specify more than one flag from the access mode and scope groups. For example, setting both Public and Private flags for use with GetMethods() 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.Flags parameter will return class members from the entire class hierarchy unless DeclaredOnly is specified. (The exception to this is the GetConstructor() 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.Flags instance 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).