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.
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.Flags can be thought of as three groups:
    • Access mode flags: Public, PackageProtected, Protected, PackagePrivate, 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).