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.