Return type: Flag enum type
Access: PUBLIC
Applies to: Progress.Reflect.Flags enumeration, Progress.Reflect.ParameterMode enumeration, any user-defined flag enum type
The following example results in vReflectFlag, an instance of Progress.Reflect.Flags, with the Public flag set and the Protected flag unset:
                DEFINE VARIABLE vReflectFlag AS Flags. vReflectFlag = Flags:Protected. /* These two lines toggle the status of the Public and Protected flags without affecting the status of any of the other flags in vReflectFlag. */ vReflectFlag = vReflectFlag:ToggleFlag(Flags:Public). vReflectFlag = vReflectFlag:ToggleFlag(Flags:Protected).  | 
              
You can use the bitwise XOR operator to achieve the same result. For example, replacing the last line with vReflectFlag = vReflectFlag XOR Flags:Protected also toggles the status of the Protected flag.
                    ENUM Permission FLAGS:
    DEFINE ENUM None = 0
                Read
                Write
                ReadWrite = Read,Write
                Create
                Delete.
END ENUM.
                   | 
                
                    DEFINE VARIABLE vPerm AS Permission. vPerm = Permission:Read. /* This toggles the Create flag without affecting the status of any of the other flags in vPerm. */ vPerm = vPerm:ToggleFlag(Permission:Create).  |