Xor( ) method

(Windows only; GUI for .NET only)

Performs a bitwise exclusive OR operation on the underlying values of the specified enumeration types and returns a new instance. You typically use this method to toggle a flag.

Return type: System.Enum class (from the .NET Framework)

Access: PUBLIC STATIC

Applies to: Progress.Util.EnumHelper class

Syntax

EnumHelper:Xor ( INPUT enum1 AS CLASS System.Enum, 
                 INPUT enum2 AS CLASS System.Enum )
enum1
Static reference to an enumeration value, or a reference to an enumeration type instance.
enum2
Static reference to an enumeration value, or a reference to an enumeration type instance.

Specify a static reference to an enumeration value using the following syntax:

enum-type:enum-member

Where enum-type is the type name of the enumeration and enum-member is a member name of the enumeration. For example:

System.Windows.Forms.AnchorStyles:Bottom

The following example uses this method to toggle a flag:

USING System.Windows.Forms.* FROM ASSEMBLY.
USING Progress.Util.* FROM ASSEMBLY.

DEFINE VARIABLE rMyStyle AS System.Enum.

/* Adds Bottom and Right to the list */ 
rMyStyle = EnumHelper:Or( AnchorStyles:Bottom, AnchorStyles:Right ). 
DISPLAY STRING( rMyStyle ) FORMAT "x(20)" SKIP. 
/* Displays "Bottom, Right" */

/* Toggles a value */
rMyStyle = EnumHelper:Xor( rMyStyle, AnchorStyles:Right ). 
DISPLAY STRING( rMyStyle ) FORMAT "x(20)" SKIP. 
/* Displays "Bottom" */

rMyStyle = EnumHelper:Xor( rMyStyle, AnchorStyles:Right ). 
DISPLAY STRING( rMyStyle ) FORMAT "x(20)" SKIP. 
/* Displays "Bottom, Right" */

If you want to use the returned System.Enum instance as a different enumeration type, you must cast the instance to that specific type using the CAST function.

For information on the System.Enum class and .NET enumeration types, refer to the .NET Framework class library.

See also

CAST function, Or( ) method