Changeset 14597 for trunk/sources/HeuristicLab.Data/3.3/EnumValue.cs
- Timestamp:
- 01/23/17 12:15:12 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Data/3.3/EnumValue.cs
r14185 r14597 52 52 private EnumValue(EnumValue<T> original, Cloner cloner) 53 53 : base(original, cloner) { 54 this.value = original.value;55 this.readOnly = original.readOnly;56 54 } 57 55 … … 64 62 } 65 63 } 64 65 public static class EnumHelper { 66 public static T SetFlag<T>(this Enum value, T flag, bool set) { 67 var baseType = Enum.GetUnderlyingType(value.GetType()); 68 dynamic valueAsBase = Convert.ChangeType(value, baseType); 69 dynamic flagAsBase = Convert.ChangeType(flag, baseType); 70 if (set) 71 valueAsBase |= flagAsBase; 72 else 73 valueAsBase &= ~flagAsBase; 74 return (T)valueAsBase; 75 } 76 } 66 77 }
Note: See TracChangeset
for help on using the changeset viewer.