diff --git a/Core/Extensions/EnumExtensions.cs b/Core/Extensions/EnumExtensions.cs index 1b87d5b0..332bec19 100644 --- a/Core/Extensions/EnumExtensions.cs +++ b/Core/Extensions/EnumExtensions.cs @@ -31,17 +31,8 @@ namespace Vanara.Extensions /// public static void CheckHasValue(T value, string argName = null) where T : struct, System.Enum { - if (IsFlags()) - { - var allFlags = 0L; - foreach (T flag in Enum.GetValues(typeof(T))) - allFlags |= Convert.ToInt64(flag); - if ((allFlags & Convert.ToInt64(value)) != 0L) - return; - } - else if (Enum.IsDefined(typeof(T), value)) - return; - throw new InvalidEnumArgumentException(argName ?? "value", Convert.ToInt32(value), typeof(T)); + if (!IsValid(value)) + throw new InvalidEnumArgumentException(argName ?? "value", Convert.ToInt32(value), typeof(T)); } /// Clears the specified flags from an enumerated value and returns the new value.