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). |