Some notes about using enums as flags in C#. Use the FlagsAttribute on you enum. Have a None option set to 0. Have the first option start at 1, and each next value should be 2 times the previous one (I wonder what that pattern is called). Something like:

public enum PropertyOptions

None = 0,
IgnoreProperty = 1,
DisplayName = 2


Checking if a flag is set is done using the following syntax:

bool isIgnoreSet = (_options&PropertyOptions.IgnoreProperty) == PropertyOptions.IgnoreProperty;


Using The Enum: