Factor out IsEnumType method
1 files changed, 11 insertions, 10 deletions
diff --git a/crypto/src/util/Enums.cs b/crypto/src/util/Enums.cs
index 660bbe73f..9e908c4c0 100644
--- a/crypto/src/util/Enums.cs
+++ b/crypto/src/util/Enums.cs
@@ -14,11 +14,7 @@ namespace Org.BouncyCastle.Utilities
{
internal static Enum GetEnumValue(System.Type enumType, string s)
{
-#if NEW_REFLECTION
- if (!enumType.GetTypeInfo().IsEnum)
-#else
- if (!enumType.IsEnum)
-#endif
+ if (!IsEnumType(enumType))
throw new ArgumentException("Not an enumeration type", "enumType");
// We only want to parse single named constants
@@ -43,11 +39,7 @@ namespace Org.BouncyCastle.Utilities
internal static Array GetEnumValues(System.Type enumType)
{
-#if NEW_REFLECTION
- if (!enumType.GetTypeInfo().IsEnum)
-#else
- if (!enumType.IsEnum)
-#endif
+ if (!IsEnumType(enumType))
throw new ArgumentException("Not an enumeration type", "enumType");
#if NETCF_1_0 || NETCF_2_0 || SILVERLIGHT
@@ -73,5 +65,14 @@ namespace Org.BouncyCastle.Utilities
int pos = (int)(DateTimeUtilities.CurrentUnixMs() & int.MaxValue) % values.Length;
return (Enum)values.GetValue(pos);
}
+
+ internal static bool IsEnumType(System.Type t)
+ {
+#if NEW_REFLECTION
+ return t.GetTypeInfo().IsEnum;
+#else
+ return t.IsEnum;
+#endif
+ }
}
}
|